2017-10-08 1 views
-1

私のアプリケーションでは、データの永続化のためにsqliteを使用して記述しました。
ローカルのdbファイルを作成することにしました。このファイルに対して、私は自分のデータを読み書きします。壊れないローカルデータベースファイルを保持する方法は?

ユーザがこのデバイスの電源を切るなどの操作を行うと、このdbファイルが破損する可能性があります.dbの書き込み処理の最後に上書きされるバックアップdbファイルを作成します。ファイル。

(私はいつも2 dbファイルを保持します.1つは違う壊れていない最新のデータで、1つは最新のデータを保持する 'ダーティ'なdbファイルです - 私のアプリケーションはこのファイルに書き込んでスワップします書き込み後にこれらの2つのファイルの間に)

  1. 破損したdbファイルのケースを避けるためにいくつかの他の方法がありますか?
  2. Androidのコードにこのバックアップを行う方法のコード例やlibがありますか?

答えて

2

ローカルSQLiteデータベースが破損する危険を避けるための1つの選択肢は、重要なデータをサーバーにミラーリングし、最終的にはより安定したより永続的なデータベースにミラーすることです。ここでは例として、ローカルユーザーデータをサーバーと定期的に同期させることができます。破損したデータを検出した場合、まったく読み取れないほど悪いことがあれば、そのデータで更新することはなく、何らかの復元を行うためにサーバー側のデータベースデータを使用することさえあります。

0

Room - SQLiteデータベースを手作業で管理するときにプログラマーが直面する問題に対処するための、SQLite上の抽象レイヤーである新しいライブラリをチェックアウトすることをお勧めします。個人的には、私はRoomに移行しました。それは以前私が苦労していたいくつかの問題(あなた以外のものですが、それでも)を解決しました。

関連する問題