2010-10-17 66 views
8

我正在实施Android OS 2.2中的新BackupAgentHelperAndroid 2.2数据备份:如何备份DefaultSharedPreferences?

对于它的工作,你需要提供你要备份的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备份?)

回答

16

看起来这就是所谓的"packagename_preferences"

+2

是的,如果你浏览/数据/数据/ /shared_prefs你可以看到用于SharedPreferences的文件。你需要的名字的确是 _preferences。此外,我创建了一个问题,要求为“默认”SharedPreferences执行此操作的更便捷的方法:http://code.google.com/p/android/issues/detail?id=11922。 (我同意你的看法,那应该在那里。) – 2010-10-17 12:23:42

+0

如何使用PreferenceActivity备份数据集? – whynot 2011-05-31 11:42:38

+1

如果你在'prefs = PreferenceManager.getDefaultSharedPreferences(this)'处设置断点,'你可以查看mBackupFile的xml文件名。 – 2012-10-02 13:07:27