在Android中为什么我们有 - Context.getSharedPreferences()和-Activity.getPreferences()?

时间:2014-10-18 17:30:47

标签: android

在Android中为什么我们有 - Context.getSharedPreferences()  和 -Activity.getPreferences() 但我们可以改变私人和多人之间的模型,所以它会是相同的!我知道还有另一种功能,但它是什么?

1 个答案:

答案 0 :(得分:1)

首先阅读文档总是有用的!此外,阅读源代码真的有时会有很多帮助。

  1. Context.getSharedPreferences(String name, int mode)
    这是主要方法。它的作用是获取偏好文件“名称”的内容,通过singleton存储并返回。
  2. Activity.getPreferences(int mode)
    如上所述,这只是调用上面的内容,但具有实际等于的特定名称: getLocalClassName()
  3. PreferenceManager.getDefaultSharedPreferences(Context)
    这也称为 Number 1 ,名称为:getPackageName() + "_preferences";
  4. 那说你也可以提供前两种方法中的一种:

    • MODE_PRIVATE
      您应该使用的默认模式( Number 3 的默认模式)。
    • MODE_MULTI_PROCESS
      如果您的应用程序有多个进程,其中单例不足以使首选项保持最新,则可以使用。
    • MODE_WORLD_READABLE 在API 17中弃用
    • MODE_WORLD_WRITEABLE 在API 17中弃用