【问题标题】:Android 2.2 Data Backup: How to backup when PreferenceActivity is used?Android 2.2 数据备份:使用 PreferenceActivity 时如何备份?
【发布时间】:2011-05-31 11:41:22
【问题描述】:

我想使用备份代理来保存用户偏好:

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 的用户数据集?

【问题讨论】:

    标签: android backup preferenceactivity


    【解决方案1】:

    SharedPreferences 是一个可以访问 PreferenceActivity 生成的首选项的类。换句话说,默认首选项使用 sharedPreferences 类的方式与您手动执行的方式相同。它使用的密钥当然是你在preferences.xml 中给它的密钥

    因此,您可以使用您提供的链接中详述的 SharedPreferences 以及首选项活动为您添加的设置。

    【讨论】:

    • 在这种情况下,用于 PreferenceActivity 的 SharedPreferences 文件名应该是什么。在 SharedPreferences 的备份示例中,代码为:SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this, PREFS);PREFS = "user_preferences"。 user_preferences 是 SharedPreference 文件名,PreferenceActivity 使用哪个文件名?
    • 如果我没记错的话,android 管理的首选项有一个默认名称,它很可能是“user_preferences”。有时间我可以稍后检查,但我相信你应该管理。您还可以实现自己的 OnBackup 和 OnRestore,只需按键提取首选项
    • 我找到了答案,PreferenceActivity 使用的文件名是packagename_preferences。可以在 PreferenceActivity 中使用此代码获得它:String preferencesName = this.getPreferenceManager().getSharedPreferencesName();。感谢您的帮助。
    猜你喜欢
    • 2011-04-26
    • 2011-07-14
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多