2010-10-17 65 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