0

我发现 Android ( SharedPreferences) 上存储的首选项的名称有点令人困惑。选择它可能是有目的的,那么这些偏好究竟是如何共享的?例如,我不希望其他应用程序随意访问我的应用程序信息。

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

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

4

2 回答 2

3

选择它可能是有目的的,那么这些偏好究竟是如何共享的?

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

例如,我不希望其他应用程序随意访问我的应用程序信息。

SharedPreferences默认情况下对您的应用程序是私有的。

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

我不太确定您指的是什么,因为您只提供了没有类的裸方法名称。如果您打算通过偏好屏幕系统从用户那里收集偏好值,请使用PreferenceManager.getDefaultSharedPreferences(). 我通常将其用于所有内容。

于 2013-10-01T18:20:31.397 回答
1

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

不同的模式意味着保存的数据是否可以被其他应用程序使用。您不必担心所有模式。由于 MODE_WORLD_READABLE 和 MODE_WORLD_WRITEABLE 现在已弃用。

对于差异:- getShared/get 偏好之间的差异

于 2013-10-01T18:26:08.173 回答