Android 中 getDefaultSharedPreferences 和 getSharedPreferences 的区别


什么是 Android 中的 Sharedpreferences?

SharedPreferences 是 Android 框架中的一个接口,允许你保存和检索基本数据类型的键值对。SharedPreferences 是 Android 用于存储用户偏好的方式,例如用户选择的主题,或是否启用声音。这些数据存储在 XML 文件中,并且可以被应用程序中的多个活动访问。

在活动级别存储数据

在开发 Android 应用程序时,如果你想在活动级别存储/访问数据,则可以使用 getPreferences。

这两种方法的主要区别在于它们如何检索 SharedPreferences 实例,即我们只需要在 getSharedPreferences 中传递 fileName 参数,而无需在 getDefaultSharedPreferences 中传递。

什么是 Android 中的 getDefaultSharedPreferences()?

getDefaultSharedPreferences() 检索属于应用程序包的默认 SharedPreferences 文件。这意味着该文件只能在应用程序内访问,并且可以在活动之间甚至整个应用程序中使用。

在应用程序级别(默认)存储数据

这也是应用程序级别的 Shared Preference。唯一的区别是默认文件在应用程序级别维护,并使用一些默认的 Shared Preference 文件名。

getDefaultSharedPreferences() ”初始化代码

SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context);

什么是 Android 中的 getSharedPreferences()?

getSharedPreferences() 允许你通过传入名称参数来指定特定的 SharedPreferences 文件。这意味着你可以在应用程序中拥有多个 SharedPreferences 文件,并且每个文件可以存储不同的键值对集。

getSharedPreferences() 方法接受两个参数:SharedPreferences 文件的名称,以及打开文件的模式。该模式决定了其他应用程序或进程如何访问该文件。在上面的示例中,模式设置为 MODE_PRIVATE,这意味着该文件只能由调用应用程序访问。

使用 getSharedPreferences() 在应用程序级别存储数据

在开发 Android 应用程序时,有时我们必须在不同的活动中访问数据,此时我们必须将 shared Preference 数据放置在活动之外。使用此技术,我们必须在多个 shared preference 文件中维护数据。

我们可以使用“ getSharedPreferences() ”方法在多个共享首选项中存储/访问数据。在此方法中,我们必须将文件名作为参数传递。

getSharedPreferences() ”初始化代码

SharedPreferences sharedPref = context.getSharedPreferences("my_prefs", Context.MODE_PRIVATE);

这两种方法的主要区别在于它们如何检索 SharedPreferences 实例。getDefaultSharedPreferences() 检索属于应用程序包的默认 SharedPreferences 文件。这意味着该文件只能在应用程序内访问,并且可以在活动之间甚至整个应用程序中使用。

访问 Shared Preferences 的各种模式

以下是访问 Shared Preferences 的一些模式

  • MODE_PRIVATE −顾名思义,该模式是私有的,即它维护安全性。你只能通过调用应用程序来访问 Shared Preferences

  • MODE_APPEND −这会将新的 Preferences 与已存在的 Preferences 连接起来。

  • MODE_WORLD_WRITEABLE −在此模式下,其他应用程序可以写入你的 Shared Preferences。

  • MODE_WORLD_READABLE −在此模式下,其他应用程序可以读取你的 Shared Preferences。

Android 中 getDefaultSharedPreferences() 和 getSharedPreferences() 的区别

getDefaultSharedPreferences() 方法

getSharedPreferences() 方法

此方法用于获取与应用程序包名称关联的 SharedPreferences 对象

此方法用于以指定的运行模式访问命名文件。

它可以用于获取与活动关联的默认共享首选项文件。

它允许你自定义文件名。

它提供了一个默认文件名,即应用程序的包名称。

它接受两个参数,一个是文件名,另一个是运行模式。

它返回应用程序的默认共享首选项。

它返回给定文件名的共享首选项。

结论

总之,“getDefaultSharedPreferences()”检索整个应用程序的默认 SharedPreferences 文件,而“getSharedPreference()”允许你指定自定义文件名和访问模式。

更新于: 2023年5月9日

927 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.