我一直在做关于如何在Android应用程序中备份SharedPreferences的功课,特别是使用反射来保持向后兼容性.至少我一直在努力.不幸的是,我的代码实际上都没有创建备份!这包括迫使亚行BMGR在模拟器命令,解释在这里.所以我想知道社区是否可以帮助我,并在此过程中提出一些更好的文档?
这是我的代码.为了使其对其他人尽可能通用,我只需使用包名com.example.andy调用我的应用程序Andy.
Android Manifest(摘录)
<application
...
android:backupAgent="com.example.andy.backupHelper"
android:restoreAnyVersion="true">
...
<meta-data
android:name="com.google.android.backup.api_key"
android:value="GIVEN KEY GOES HERE" />
...
Run Code Online (Sandbox Code Playgroud)
backupHelper.java
注意:/ data/data/com.example.andy/shared_prefs/com.example.andy_preferences.xml
package com.example.andy;
import android.app.backup.BackupAgentHelper;
import android.app.backup.SharedPreferencesBackupHelper;
public class BlinkyBackup extends BackupAgentHelper {
static final String PREFS_FILE = "andy_preferences";
static final String BACKUP_KEY = "AndyPreferencesBackup";
public void onCreate() {
SharedPreferencesBackupHelper backupHelper = new SharedPreferencesBackupHelper(this, PREFS_FILE);
addHelper(BACKUP_KEY, backupHelper);
}
}
Run Code Online (Sandbox Code Playgroud)
BackupAgentWrapper
package com.example.andy;
import android.app.backup.BackupManager;
import android.content.Context;
public class BackupAgentWrapper {
private BackupManager …Run Code Online (Sandbox Code Playgroud) android backup-strategies sharedpreferences android-backup-service