yac*_*oob 5 android preferences sharedpreferences
为了使用描述首选项的XML文件中的默认值初始化首选项,我可以调用PreferenceManager.setDefaultValues(this, R.xml.preference, false).听起来很简单,但我不确定我应该在什么时候打电话给他?
正如我从文档中理解的那样,在没有设置首选项的情况下,上述调用只需要一次.作为此调用的结果,/data/data/<myapp>/shared_prefs将设置驻留的首选项,因此所有后续尝试读取首选项将获得默认值.逻辑上,setDefaultValues应该在每个可能执行的代码路径中调用,而不会初始化首选项.随着时间的推移,这竟然是多个地方-主要活动,另一项活动,后台服务,小型BroadcastReceiver处理系统的消息......现在我已经把呼叫setDefaultValues在onCreate()我的应用程序对象,因为我已经在使用它一样方便其他东西的单身人士.
问题:
getFoo(key, defValue)调用中,但这会在整个代码中有效地分散您的默认设置.编辑:基本上,我不知道哪个解决方案更糟糕:setDefaultValues每次我在给定的代码路径中访问prefs,或者每次都在一些常见的地方(比如app的onCreate)调用它,无论我是否需要它.
我将删除原来的答案并回答您实际提出的问题。
MyPrefs——这不是我所说的,但这并不重要)。MyPrefs 的主要特点是:
话虽如此......它对我有用,但如果您几乎可以肯定,每次您的代码在您所在的位置运行时,您都会调用 SharedPreferences 。
希望这比我之前的答案更有帮助。
| 归档时间: |
|
| 查看次数: |
2406 次 |
| 最近记录: |