現在、Android でいくつかのことを試しています。GSON を使用してデータを JSON に保存し、新しいデータを同じファイルに追加しようとしています。
コードが実行されるのはこれが初めてであり、データがtest.jsonというファイルに保存されているとしましょう:
Gson gson = new GsonBuilder().setPrettyPrinting().create();
ArrayList<GSONObject> objects = new ArrayList<GSONObject>();
GSONObject obj = new GSONObject("sth", 1, 1345939200000);
objects.add(obj);
String json = gson.toJson(objects);
File file = new File(filePath + fileName);
FileWriter fileWriter = new FileWriter(file, true);
fileWriter.append(json);
fileWriter.close();
これでファイルに保存されました:
[ {
"something": "sth",
"id": 1,
"time": 1345939200000
} ]
後でアプリを再度実行したいのですが、同じファイルに新しいデータを追加して、次のようにします。
[ {
"sth": "sth",
"id": 1,
"time": 1345939200000
},
{
"sth": "sth2",
"id": 2,
"time": 1345939500000
} ]
このプロセスで使用されるデータとメモリの量を節約しようとしているので、最初にファイルをメモリに解析してからファイルに書き戻すことは、むしろ避けたいことです。
助言がありますか?本当に GSON である必要はありません。うまく機能するものだけです。
編集: maaartinus からのいくつかの提案で問題を解決しました。ここで見ることができ、より良い解決策を知っている場合は貢献してください!