短い形式での質問:フォローアップから、質問の核心を強調して単純化する必要があるようです。核心は次のとおりです。Android DB の他のバックアップ オプションでは、現在データベースにあるデータが復元によって上書きされる可能性があるというリスクが残っているようです。これはそうですか、このリスクなしでバックアップ/復元する方法はありますか?
.
長い形式の質問: Android で SQLite データベースをバックアップすることに関する多くの (かなり多数の) 質問に目を通しましたが、答えが見つからない質問が 1 つあります。
他のすべてのバックアップ/復元の説明では、db ファイルを SD に保存し (または、Android で SQLite データベースを Dropbox にバックアップ/復元する方法でクラウドに)、必要に応じて復元することについて説明しました。私の懸念は、復元によって現在の DB が上書きされないかということです。
ユーザーが短時間使用していたアプリを新しくインストールし (新しいデータを生成)、アプリの以前のバックアップからデータをインポートしたい場合が心配です。他のすべてのバックアップ/復元アプローチでは、古い DB ファイルを復元すると、現在の DB ファイル内の新しいデータが上書きされるようです。代わりに欲しいのは、復元時にバックアップから現在のDBにデータを追加して、その中の他のものを上書きせずに完全にするバックアップオプションです。
他のアプローチはこれを行いますか?それとも、私が疑うように、そのような場合に上書きしますか?
彼らが上書きする場合、私の最善のバックアップオプションはおそらくcsvまたはxmlファイルなどに書き出すことであり、これらのバックアップの議論はそれを行う簡単な方法についてのものであると思っていました. そのプロセスを高速化して簡単にするために構築されたプロセスはありますか、それともすべて手動で行う必要がありますか? もしそうなら、書き込むフォーマットに関する推奨事項とその理由は?
同様に、BackupAgentHelper を使用した組み込みの Google バックアップで同じ上書きの問題が発生するかどうかを知っている人はいますか?
最後に、データ移行 (コア データ モデルが変更された後にバックアップから SQLite データベースを復元する方法 (軽量移行) に似ています) を経てしまった場合、今何をすべきか (私はまだ DB 設計段階にあります) ) このような将来の変更を、このバックアップ プロセスと比べて容易にする方法はありますか?