私のアプリでは、XML を使用して、ユーザーがキャンバスに描いた画像を保存しています。各図が描画された後、ポイントを xml ファイルに書き込み、ディスクに保存します。xml はかなり大きいです。そのため、書き込みが完了するまでに時間がかかります。これは私がそのために使用しているコードです。
private void writeToXml( final Book book)
{
Thread t = new Thread() {
@Override
public void run() {
try {
Serializer serializer = new Persister();
File result = new File(android.os.Environment.getExternalStorageDirectory() + "/MyBooks/Book.xml");
try {
serializer.write(book, result);
} catch (Exception e1) {
e1.printStackTrace();
}
} finally {
//updateBook();
}
}
};
t.start();
}
私にとっての問題は、書き込みが完了する前にユーザーがアプリを終了すると、XML ファイルが破損することです。どうすればこれを改善できますか。アプリを閉じてもファイルが正しく書き込まれるようにするにはどうすればよいですか?
ありがとう