2

学校のプロジェクト用に基本的な Android アプリケーションを開発しています。ファイルオブジェクトとして機能する新しいクラスを配置するまで、すべてが正常に機能していました-変数に書き込み、オブジェクトをSDカードに保存します。ただし、デバッグエラーが発生します。自分のコードへの参照は含まれていません。コードを実行しているときではなく、アクティビティを起動しているときに何が起こるかを参照しているようです。助言がありますか?デバッグ コンソールのエラー メッセージは次のとおりです。

Homework Planner [Android Application]  
DalvikVM[localhost:8600]    
    Thread [<1> main] (Suspended (exception RuntimeException))  
        <VM does not provide monitor information>   
        ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 2194    
        ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 2229 
        ActivityThread.access$600(ActivityThread, ActivityThread$ActivityClientRecord, Intent) line: 139    
        ActivityThread$H.handleMessage(Message) line: 1261  
        ActivityThread$H(Handler).dispatchMessage(Message) line: 99 
        Looper.loop() line: 154 
        ActivityThread.main(String[]) line: 4945    
        Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]  
        Method.invoke(Object, Object...) line: 511  
        ZygoteInit$MethodAndArgsCaller.run() line: 784  
        ZygoteInit.main(String[]) line: 551 
        NativeStart.main(String[]) line: not available [native method]  
    Thread [<10> Binder Thread #2] (Running)    
    Thread [<9> Binder Thread #1] (Running) 
    Daemon Thread [<8> FinalizerWatchdogDaemon] (Running)   
    Daemon Thread [<7> FinalizerDaemon] (Running)   
    Daemon Thread [<6> ReferenceQueueDaemon] (Running)  

アクティビティを開始するためのコードは次のとおりです。

public class InputActivity extends Activity {
String chosenSubject = null;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_input);

    // Set up the spinner and it's listener
    Spinner subjectSpinner = (Spinner) findViewById(R.id.deadlinePicker);
    subjectSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {


        public void onNothingSelected(AdapterView<?> arg0) {}

        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {
            chosenSubject = (String) arg0.getItemAtPosition(arg2);

        }

    });

    // Set up save button
   Button saveButton = (Button) findViewById(R.id.btnSave);
   saveButton.setOnClickListener(new OnClickListener() {
        public void onClick(View arg0) {
            //saveFile();
        }           
    });        
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_input, menu);
   return true;
}
4

1 に答える 1

0

SD カードにデータを書き込むためのマニフェスト ファイルに適切なアクセス許可が含まれていることを確認してください。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

また、アクティビティをマニフェスト ファイルに含めるようにしてください。

<activity android:name=".InputActivity"/> 
于 2012-11-24T16:59:34.550 に答える