我只是好奇.有3种方法:
1. getPreferenceManager().setSharedPreferencesName(String PrefName);
2. PreferenceManager.getDefaultSharedPreferences(Context context)
3. Context.getSharedPreferences (String name, int mode)
Run Code Online (Sandbox Code Playgroud)
据我所知,第三种方法仅在使用第一种方法时使用,对吧?但是我们也用3种方法addPreferencesFromResource(int resID); 那么区别是什么呢?我们什么时候可以使用这些方法之一?谢谢!
wiz*_*ail 24
让我们一步一步:
setSharedPreferencesName()是允许设置首选项组的名称供以后使用的方法.例如,在通过调用从XML资源文件加载首选项之前 使用PreferencesActivity的帮助类时,这很有用
addPreferencesFromResource().因此,它不像您上面提到的其他两种方法那样常见.
getDefaultSharedPreferences()使用默认名称,通常存储为/data/data/com.package.name/shared_prefs/com.package.name_preferences.xml.它是常用的.请注意,此默认值是按应用程序设置的.
替代方法 - getSharedPreferences()需要指示特定的首选项(文件)名称和操作模式.
正如在另一个关于共享首选项的答案中所显示的那样,
getDefaultSharedPreferences()实际上使用了Context.getSharedPreferences,因此结果是相同的,但没有灵活性可以拆分为多个首选项文件getSharedPreferences().使用MODE_WORLD_READABLE操作指示器在应用程序之间共享首选项也是可能的getSharedPreferences(),但很少使用.
恕我直言,getDefaultSharedPreferences()可以安全使用,而不会混淆容易出现错别字和混淆的多个首选项文件名.
如果有人知道使用getSharedPreferences()而不是getDefaultSharedPreferences()的充分理由,请在此处通过评论告诉我.
| 归档时间: |
|
| 查看次数: |
12220 次 |
| 最近记录: |