2011-05-31 68 views
0

我想使用備份代理用於保存用戶的喜好:Android 2.2數據備份:如何使用PreferenceActivity進行備份?

http://developer.android.com/guide/topics/data/backup.html

在這篇文章中,它解釋瞭如何備份SharedPreferences:

http://developer.android.com/guide/topics/data/backup.html#SharedPreferences

但是它沒有解釋如何在PreferenceActivity(http://developer.android.com/reference/android/preference/PreferenceActivity.html)用於保存用戶偏好時進行備份!

我的應用程序有一個設置活動擴展PreferenceActivity,它從preference.xml文件(其中配置了PreferenceScreen)加載設置。當PreferenceActivity顯示時,用戶可以設置首選項的值。如何使用Data Backup API來保存用PreferenceActivity設置的用戶數據?

回答

4

SharedPreferences是一個可以訪問PreferenceActivity生成的首選項的類。換句話說,默認首選項使用sharedPreferences類,就像您手動操作一樣。您使用的密鑰當然是您在首選項中輸入的密鑰.xml

因此,您可以按照您提供的首選活動爲您添加的設置提供的鏈接中詳細說明的方式使用SharedPreferences。

+0

在這種情況下,應該使用PreferenceActivity的SharedPreferences文件名稱。在使用SharedPreferences的備份示例中,代碼是:'SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this,PREFS);''PREFS =「user_preferences」'。 user_preferences是SharedPreference文件名,使用whith PreferenceActivity的文件名是什麼? – whynot 2011-05-31 14:48:55

+0

如果我沒有記錯的話,android上管理的首選項的默認名稱很可能是「user_preferences」。當我有空時我可以檢查,但是你應該管理我相信。您也可以實現您自己的OnBackup和OnRestore,並通過密鑰 – Jason 2011-05-31 15:19:09

+4

提取首選項。我找到了答案,PreferenceActivity使用的文件名是_packagename_preferences_。它可以通過PreferenceActivity中的這段代碼得到:'String preferencesName = this.getPreferenceManager()。getSharedPreferencesName();'。謝謝你的幫助。 – whynot 2011-05-31 15:44:09