現在、アプリ内の複数のアクティビティ クラスから 1 つのファイルにメッセージを保存しています。各アクティビティ クラスには同じ関数 WriteToFile があります。
public void WriteToFile(String info) {
FileOutputStream FoutS = null;
OutputStreamWriter outSW = null;
try {
FoutS = openFileOutput("file.txt", MODE_PRIVATE);
outSW = new OutputStreamWriter(FoutS);
outSW.write(info);
outSW.flush();
}
catch (Exception e) {
}
finally {
try {
outSW.close();
FoutS.close();
} catch (IOException e) {
}
}
}
この関数をファイルに書き込み (および読み取り) 保持する別のクラスを作成しようとしましたが、エラーなしではできませんでした。
関数には、次のように WriteToFile void にコンテキストを渡す必要があると思います...
//Changes to this line
public void WriteToFile(String info, Context context) {
FileOutputStream FoutS = null;
OutputStreamWriter outSW = null;
try {
//Changes to this line
FoutS = context.openFileOutput("file.txt", MODE_PRIVATE);
outSW = new OutputStreamWriter(FoutS);
outSW.write(info);
outSW.flush();
}
catch (Exception e) {
}
finally {
try {
outSW.close();
FoutS.close();
} catch (IOException e) {
}
}
}
それが正しい場合、コンテキストを正しく渡していますか?
String msg = "This is a message";
WriteToFile(msg, this);
それはうまくいかないので、私は何か間違ったことをしています。