13

当我获得以下偏好时,有什么区别:

PreferenceManager.getDefaultSharedPreferences(getBaseContext());

getPreferences(Context.MODE_PRIVATE);
4

1 回答 1

24
PreferenceManager.getDefaultSharedPreferences(getBaseContext());

将提供对整个应用程序包的全局首选项文件的访问;任何活动都可以访问首选项(在内部,保存首选项的 xml 文件将被命名your.application.package_preferences.xml)。

contextInstance.getPreferences(Context.MODE_PRIVATE);

将只为 contextInstance 类提供首选项:只有上下文类的实例才能访问这些首选项(说你的包仍然是your.application.package并且你在your.application.package.foo.MyActivity,内部首选项文件是foo.MyActivity.xml)。

于 2011-04-13T17:14:59.567 回答