そうです、私はしばらくの間これに対する解決策を見つけようとしてきましたが、それは何らかの理由でうまくいかないだけです。
要するに、私がやりたいのは、ユーザーが入力したすべての入力文字列をファイルに保存することです。アクティビティが再度作成されるたびに、これらの文字列をオブジェクトの新しいインスタンスに再入力したいと思います。
このコードは、ファイルを作成してそこから情報を読み取るために使用するものであり、アクティビティのonCreate()メソッドで使用されます。
try {
String brain = "brain";
File file = new File(this.getFilesDir(), brain);
if (!file.exists()) {
file.createNewFile();
}
BufferedReader in = new BufferedReader(new FileReader(file));
String s; // This feeds the object MegaAndroid with the strings, sequentially
while ((s = in.readLine()) != null) {
MegaAndroid.add(s);
}
in.close();
} catch (IOException e) {
e.printStackTrace();
}
その後、ユーザーがテキストを入力するたびに、文字列がファイルに保存されます。
try {
String brain = "brain";
File file = new File(this.getFilesDir(), brain);
if (!file.exists()) {
file.createNewFile();
}
BufferedWriter out = new BufferedWriter(new FileWriter(file));
out.write(message); // message is a string that holds the user input
out.close();
} catch (IOException e) {
e.printStackTrace();
}
ただし、何らかの理由で、アプリケーションが強制終了されるたびに、データは失われます。私は何が間違っているのですか?
編集:また、別のクラスからこのファイルにアクセスする場合、どうすればよいですか?