ユーザーが電話を紛失したり、新しい電話にアップグレードしたりしても、データが失われないように、AndroidアプリでデータをGoogleバックアップにバックアップする方法を調査して従いました。ただし、テスト (自分でアプリを使用してからアンインストールしてから再インストール) すると、データは復元されません。これが私がやったことです。おそらく、誰かが何が間違っているかを理解できるでしょう。
- Google からバックアップ キーを申請済み
次のコードをマニフェスト ファイルに配置しました (キーの代わりにキーの値を追加し、packageName にはアプリのパッケージ名を使用しました)。
android:backupAgent="packageName.MyPrefsBackup"> <meta-data android:name="com.google.android.backup.api_key" android:value="key" />
MyPrefsBackup
次のコードでクラスを作成しました。バックアップしたい共有設定ファイルの名前は UserDB と呼ばれます。に関する限りPREFS_BACKIP_KEY
、私はそれを prefs と呼びました。私が理解していることから、これはマニフェスト ファイルに含まれるキーと同じキーではありません。
コード:
package packageName;
import android.app.backup.BackupAgentHelper;
import android.app.backup.SharedPreferencesBackupHelper;
public class MyPrefsBackup extends BackupAgentHelper {
// The name of the SharedPreferences file
static final String PREFS = "UserDB";
// A key to uniquely identify the set of backup data
static final String PREFS_BACKUP_KEY = "prefs";
// Allocate a helper and add it to the backup agent
public void onCreate() {
SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this, PREFS);
addHelper(PREFS_BACKUP_KEY, helper);
}
}
BackupManager mBackupManager = new BackupManager(this);
次のステップでバックアップマネージャーを呼び出すメインクラスに追加しました最後に、私のメイン プログラムでは
backupHelper
、次の行でデータが変更されたときに呼び出します。mBackupManager.dataChanged();
どんな助けでも大歓迎です。