1

私のアプリは学校の成績を追跡し、平均を計算し、これらすべてを SQLite データベースに保存します。ユーザーが再インストールする必要があるか、新しい電話を入手する必要がある場合、データを復元できるようにしたいと考えています。

ほとんどの開発者は、SD カードにバックアップするか、Google のAndroid Backup Serviceを使用してこれを行っているようです。どちらがより良い方法かはわかりません。シンプルだが信頼できるように復元したいと思います。これについてのコメントを歓迎します。

私が理解しようとしているのは、Google がデータベースを使用するBackupAgent代わりに拡張するように言っている理由です。BackupAgentHelper

ユーザーがアプリケーションを再インストールしたときに復元する SQLite データベースがある場合は、バックアップ操作中に適切なデータを読み取るカスタム BackupAgent を構築する必要があります。その後、テーブルを作成し、復元操作中にデータを挿入します。

データベースをファイルとしてバックアップしてから、そのファイルを復元できないのはなぜですか? データベースのバージョンが異なる場合、私SQLiteOpenHelperのクラスはすでにアップグレードを処理しています。ダウングレードで中止できると思います。

4

2 に答える 2

0

データベースをファイルとしてバックアップしてから、そのファイルを復元できないのはなぜですか? データベースのバージョンが異なる場合、私の SQLiteOpenHelper クラスはすでにアップグレードを処理しています。ダウングレードで中止できると思います。

理由: 同じデータベース ファイルが異なるデバイス モデルでは機能しない可能性があります (ほとんどの場合は機能するはずですが、失敗する場合もあります)。これは、sqlite エンジン レベルで設定されたページ サイズなどのパラメータに依存します。理想的な方法は、ファイル全体をコピーするのではなく、データをバックアップすることです

于 2014-11-09T15:44:56.237 に答える