首页 >Java >java教程 >如何从另一个 Android Activity 中的 PreferenceActivity 访问 SharedPreferences?

如何从另一个 Android Activity 中的 PreferenceActivity 访问 SharedPreferences?

Patricia Arquette
Patricia Arquette原创
2024-12-03 03:45:10236浏览

How Do I Access SharedPreferences from a PreferenceActivity in Another Android Activity?

从 Android 中的 PreferenceActivity 获取 SharedPreferences

使用 PreferenceActivity 显示应用程序设置时,当用户交互时首选项会自动保存到 SharedPreferences和他们在一起。但是,从另一个 Activity 访问 SharedPreference 名称可能具有挑战性。

根据文档:

“要检索此 Activity 中的首选项层次结构将使用的 SharedPreferences 实例,请调用 getDefaultSharedPreferences( android.content.Context) 与与此位于同一包中的上下文

解决方案:

要从另一个 Activity 检索 SharedPreferences 名称,请使用以下代码:

import android.preference.PreferenceManager;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);

此代码检索SharedPreferences 实例使用应用程序的上下文,它与包的包匹配PreferenceActivity。

SharedPreferences 和 Activity-handled Preferences

SharedPreferences,如文档中所述,可以跨应用程序内的活动和服务使用,而活动处理的首选项特定于特定活动。

使用SharedPreferences

对于共享首选项,建议使用默认模式,不指定文件名:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);

但是,您也可以指定文件名:

SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);

检索存储的值:

int storedPreference = preferences.getInt("storedInt", 0);

存储值:

SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();

使用活动处理的首选项

要使用特定于活动的首选项:

SharedPreferences preferences = getPreferences(MODE_PRIVATE);

以上是如何从另一个 Android Activity 中的 PreferenceActivity 访问 SharedPreferences?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn