安卓2.2数据备份:如何备份DefaultSharedPreferences?

8

我正在实现 Android OS 2.2 中的新 BackupAgentHelper

为了使其正常工作,您需要提供要备份的 SharedPreferences 的名称:

public class MyPrefsBackupAgent extends BackupAgentHelper {
// The name of the SharedPreferences file
static final String PREFS = "user_preferences";

// 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
void onCreate() {
    SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this, PREFS);
    addHelper(PREFS_BACKUP_KEY, helper);
}
}

问题是我在应用程序中使用PreferenceManager.getDefaultSharedPreferences()方法来获取默认的共享首选项实例。现在我需要提供该文件的名称。如何找出那个名称呢?

(为什么他们不提供一个帮助程序,只需备份DefaultSharedPreferences?)

1个回答

16

看起来它被称为"packagename_preferences"


2
是的,如果您浏览/data/data/<package>/shared_prefs,您可以看到用于SharedPreferences的文件。您需要的名称确实是<packagename>_preferences。此外,我创建了一个问题,以寻求更方便的方法来处理“默认”SharedPreferences:http://code.google.com/p/android/issues/detail?id=11922。(我同意您的看法,这应该存在。) - Charlie Collins
如何使用PreferenceActivity备份数据集? - user332563
1
如果您在“prefs = PreferenceManager.getDefaultSharedPreferences(this);”处设置断点,您可以查看mBackupFile以获取XML文件名。 - Chuck D

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接