0

私はここにこれについていくつかの質問があったことを知っていますが、それでも答えを見つけることができません。外部ストレージにテキストを書き込む必要がありますが、このコードによりアプリケーションがクラッシュします。Stringdaneがこのテキストであることに注意してください。

 void zapis2 (String dane){
        Context myContext = getApplicationContext();
        File file = new File(myContext.getExternalFilesDir(null), "state.txt");
        try {

             FileOutputStream os = new FileOutputStream(file, true); 
             OutputStreamWriter out = new OutputStreamWriter(os);
                 out.write(dane);
             out.close();}catch (IOException e) {
                }
    }

何か考えがありますか。もちろん、Androidマニフェストに許可を追加します。

4

2 に答える 2

0

Contect.getExternalFilesDir(..)API8からのみ利用可能です。以前のバージョンで実行/デプロイすると、クラッシュします。

于 2012-08-28T12:48:13.077 に答える
0

これを試して:

File root = android.os.Environment.getExternalStorageDirectory();
File dir = new File (root.getAbsolutePath() + "/foldername");
dir.mkdirs();
File file = new File(dir, "filename.txt");

try {
    FileOutputStream f = new FileOutputStream(file);
    PrintWriter pw = new PrintWriter(f);
    pw.println(dane); //your string which you want to store
    pw.flush();
    pw.close();
    f.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}   

お役に立てれば!

于 2012-08-28T12:43:09.837 に答える