【问题标题】:Saving and restoring sets of preferences保存和恢复首选项集
【发布时间】:2010-12-23 14:05:12
【问题描述】:

有没有什么好的方法可以在 Android 中保存并恢复一组首选项(即使用 SharedPreferences 存储)的值?

对于我的游戏应用,我有大约 10 个关于游戏应该如何呈现的偏好。我想做的是添加可以选择的各种配置文件,每个配置文件都会设置 10 个首选项的值。例如,我可能有一个“低电池使用”配置文件,它将所有渲染首选项设置为使用最少电池的值,或者一个“高细节”配置文件将所有渲染首选项设置为最高设置。

我还将有一些这些配置文件未设置的首选项。例如,我将有一个存储当前活动配置文件名称的首选项。

关于如何保存/恢复配置文件,我有哪些选择?更改配置文件将如何实施?

【问题讨论】:

标签: java android mobile


【解决方案1】:

恕我直言,基本上有三种方法,如何实现您的目标:

  • 创建一组SharedPreferences - 为每个配置文件单独设置,例如:
settingsCommon=context.getSharedPreferences("MyCommon", MODE_PRIVATE); settingsLowBattery=context.getSharedPreferences("MyLowBattery", MODE_PRIVATE);
  • 添加到每个首选项键smth like 指向配置文件的后缀:
int getIntPreference(SharedPreferences 设置,字符串配置文件,字符串键,int defValue) { 字符串 fullKey=key+"."+profile; 返回 settings.getInt(fullkey, defValue); }
  • 扩展SharedPreferences类和 实现你自己的,包括 创建/解析任何类型的 XML

【讨论】:

  • 谢谢。我喜欢第一个选项,因为这意味着 Android 正在为我做艰苦的工作。但是,我将如何去显示一个设置屏幕,例如某些首选项与配置文件相关,而某些首选项与不属于配置文件的更一般设置相关?如果可能的话,我希望将所有内容都显示在同一个屏幕上。
  • 我建议创建自己的类来存储首选项。因此,每个首选项键都必须有自己的标签,显示它是全局的还是配置文件的
猜你喜欢
  • 2010-09-27
  • 1970-01-01
  • 2012-10-27
  • 2016-07-31
  • 2014-12-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-26
  • 2019-10-03
相关资源
最近更新 更多