SharedPreferences:他们分享了什么?

时间:2013-10-01 18:13:10

标签: android sharedpreferences

我发现Android上存储的偏好设置的名称(SharedPreferences)有点令人困惑。它可能是有目的的,所以这些首选项共享究竟是多少?例如我不希望其他应用程序无情地访问我的应用程序的信息。

getPreferences()的偏好与getSharedPreferences()的偏好之间有什么区别?不同模式之间有什么区别?我应该如何选择使用哪个? (哎呀,如果我有一个多活动程序,只使用常规的getPreferences会有害吗?)

我对使用这些东西的想象仍然非常有限。

2 个答案:

答案 0 :(得分:3)

  

这可能是出于某种目的而选择的,那么这些偏好究竟是如何分享的呢?

它们在您的应用程序的所有组件之间共享(例如,您的所有活动)。

  

e.g。我不希望其他应用程序无情地访问我的应用程序的信息。

SharedPreferences默认为您的应用程序专用。

  

getPreferences()的首选项与getSharedPreferences()的首选项有什么区别,不同模式之间有什么区别?我应该如何选择使用哪个? (哎呀,如果我有一个多活动程序,只使用常规的getPreferences会有害吗?)

我不太确定你指的是什么,因为你只提供了没有类的裸方法名称。如果您打算通过首选项屏幕系统use PreferenceManager.getDefaultSharedPreferences()收集用户的偏好值。我通常会将其用于所有事情。

答案 1 :(得分:1)

Sharedprefernce基本上是关键,带有can的值对保存在xml中,并且可由应用程序访问。您可以使用它来保存一些设置值或默认值或任何其他形式的键值对。 因此,可以在一个活动中保存一个键值对,可以在其他活动中访问。

不同的模式意味着保存的数据是否可以被其他应用程序使用。你不应该担心所有的模式。作为MODE_WORLD_READABLE&现在不推荐使用MODE_WORLD_WRITEABLE。

区别于: - Difference between getShared/get preference