2011-07-19 11 views
0

上のEditTextフォームに書き込まれたデータを内部メモリに保存するボタンがありますが、何らかの理由でコードが機能しません。それはトーストメッセージを表示しません。Androidにデータを保存する際の問題

final Button save = (Button) findViewById(R.id.buttonSave); 
final String Day = dayName; 

save.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       String FILEOUTPUT = Day; 
       BufferedWriter bfw; 

       try { 
        bfw = new BufferedWriter (new FileWriter(FILEOUTPUT)); 
        Scanner scan = new Scanner(new File(editData.getText().toString())); 

        bfw.write(scan.nextLine()); 
        bfw.close(); 
        Toast.makeText(ModifyInfo.this, "Saved", Toast.LENGTH_SHORT); 
       } catch (Exception e) { 
        Toast.makeText(ModifyInfo.this, "Save error", Toast.LENGTH_SHORT); 
       } 
      } 
     }); 

7月19日20:00:59.677:ERROR /保存ファイル(341):00:59.677:ERROR /保存ファイル(341)

7月19日20の保存に失敗します: java.io.FileNotFoundException:/月曜日(読み取り専用ファイルシステム)

7月19日20:00:59.677:ERROR /(341)保存ファイル: org.apache.harmony.luni.platform.OSFileSystemで.open(ネイティブメソッド)

07-19 20:00:59.677:ERROR/F ILE保存(341): dalvik.system.BlockGuard $ WrappedFileSystem.open(BlockGuard.java:232)

7月19日20時:00:59.677:ERROR /保存(341)ファイル: java.ioで.FileOutputStream(FileOutputStream.java:94)

7月19日20:00:59.677:ERROR /保存(341)ファイル:。 java.io.FileOutputStreamはで(FileOutputStream.java:66)

07-19 20:00:59.677:ERROR/File Save(341): (FileWriter.java:80)

07-19 20:00:59 0.677:ERROR /保存(341)ファイル:00:59.677:ERROR /ファイルの保存(341) com.geft.timetable.ModifyInfo $ 2.onClick(ModifyInfo.java:77)

7月19日20時: でandroid.view.View.performClick(View.java:2485)

7月19日20:00:59.677:ERROR /保存(341)ファイル: android.view.View $ PerformClick.runで( View.java:9080)

7月19日20:00:59.677:ERROR /保存(341)ファイル: android.os.Handler.handleCallback(Handler.java:587)

07-1で9 20:00:59.677:ERROR /保存(341)ファイル: でandroid.os.Handler.dispatchMessage(Handler.java:92)

7月19日20:00:59.677:ERROR /ファイルに保存(341 ): でandroid.os.Looper.loop(Looper.java:123)

7月19日20:00:59.677:ERROR /保存(341)ファイル: android.app.ActivityThread.main(ActivityThreadで.java:3683)

7月19日20:00:59.677:ERROR /保存ファイル(341): でjava.lang.reflect.Method.invokeNative(ネイティブメソッド)

0 7-19 20:00:59.677:エラー/ファイル保存(341): java.lang.reflect.Method.invoke(Method.java:507)

07-19 20:00:59.677:エラー/保存(341)ファイル:00:59.677: com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839)

7月19日20時ERROR /保存(341)ファイル:で com.android.internal.os.ZygoteInit.main(ZygoteInit。Javaの:597)

7月19日20:00:59.677:あなたはこのラインでやって何 dalvik.system.NativeStart.main(ネイティブメソッド)

+0

logcatの例外はありますか? – Egor

+1

トーストを表示しないのは、 'toast.show();'を呼び出さないからです(おそらくそれをチェーンすることができます)。私はあなたがエラーを取得していると仮定します。なぜあなたのエラーをキャッチする代わりに、単に一般的なエラーをスローするエラーを記録しないでください?少なくともあなたの 'Toast'では' e-> getMessage() 'を使いますが、それをログに書き込む方が良いでしょう。 – Nanne

+0

ありがとう!私はトーストを手に入れましたが、「保存エラー」と続きます。 –

答えて

0

で:ERROR /保存(341)ファイルあなたのeditDataがEditTextの場合、あなたのプログラムはそこからファイル名を必要とします。ここにファイル名を指定していないと思います。ファイルに保存する文字列をここに入力することになっています。

+0

私は混乱しています。私は何をすべきかについて簡単な例を挙げてください。 –

+1

こちらのページをご覧ください://stackoverflow.com/questions/3551821/android-write-to-sd-card-folder – Rasel

+0

スキャナスキャン=新しいスキャナ(新しいファイル(editData.getText()。toString()));この行にはファイルがありません。前のコメントの質問の回答を見て、ファイルを書き込む方法を見てください – Rasel

関連する問題