私は自分の問題を解決するために何百もの異なる方法を試してきましたが、何らかの理由で単純に機能しません。アプリケーションを永続的にするために、すばやく汚い方法を作ろうとしています。基本的に、破棄するときに保存する必要があるオブジェクトがたくさんあるので、オブジェクトをArrayListに入れ、ObjectOutputStreamを使用してArrayListをファイルに書き込むようにすると思いました。
public void onStop() {
super.onStop();
Log.d("Event", "Stopped");
FileOutputStream fos = null;
ObjectOutputStream oos = null;
try {
fos = openFileOutput("Flights", MODE_WORLD_WRITEABLE);
oos = new ObjectOutputStream(fos);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
ArrayList<Flight> alFlightList = new ArrayList<Flight>();
Iterator it = flightMap.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pairs = (Map.Entry)it.next();
alFlightList.add((Flight) pairs.getValue());
}
try {
oos.writeObject(alFlightList);
oos.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
Log.d("Info", "File created!");
}
}
再度読み取るための同様のアルゴリズムを取得しましたが、読み取るファイルがないと文句を言います。永続化のためにファイルを使用することがベスト プラクティスではないことはわかっていますが、これは前述のとおり、迅速で汚い解決策であるはずです。(しかし、私が今使っている時間は、データベースの作成に費やされた可能性があります.._.) ありがとう!