0

そのため、ユーザーが EditText に書いたものをすべて保存して、次回のために保存したいと考えています。このまったく同じコードは Java プロジェクトでは機能しますが、Android プロジェクトでは機能しません。

コードは以下のとおりです。

PrintWriter out = new PrintWriter("hi"); 常に FileNotFoundException e を返します。

Java プロジェクトでは、このコードは PrintWriter out = new PrintWriter("hi"); 「hi」という名前の新しいファイルを作成しますが、Android プロジェクトは新しいファイルを作成せず、代わりにエラーを返します。アプリが後で再び開いたときに開かれる EditText からの文字列は保存されません。

誰でもこの問題の解決策を持っていますか?

 public void onCreate(blablabla)
 {blablabla
   try {
        FileReader reader = new FileReader ("hi");
        Scanner in = new Scanner(reader);
        String line = in.nextLine();
        mEditText.setText(line);
        in.close();


    } catch (FileNotFoundException e) {
        mEditText.setText("");
        Toast.makeText(mContext, "null!!", Toast.LENGTH_SHORT).show();
    }


   @Override    
protected void onDestroy() 
{        
    super.onDestroy();        
    // The activity is about to be destroyed.  
    try {                           
        PrintWriter out = new PrintWriter("hi");
        out.write(mEditText.toString());
        out.close();
    } catch (FileNotFoundException e) {
        Toast.makeText(mContext, "Can't save", Toast.LENGTH_SHORT).show();
    }
}
4

1 に答える 1

0

Android のパーミッションに問題がある可能性があります。http://developer.android.com/guide/topics/manifest/manifest-intro.html#permsを参照してください

それともSharedPreferencesを使用する方が良いですか?

于 2013-04-15T07:42:02.813 に答える