上篇文章介绍了SharedPreferences读写问题。这里介绍下如何在不同的activity中访问SharedPreferences,以及如何直接访问任何可以访问的SharedPreferences。比如对于上篇文章方法3存储的SharedPreferences如何在Activity中进行访问
1、不同Activity中访问SharedPreferences
这个比较简单,同在一个Activity中一样,比如在A Activity中
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("silentMode", mSilentMode);
editor.commit(); //一定要记得提交
在B Activity中需要获得silentMode对应的值。只需要
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
//或者使用 SharedPreferences settings = getPreferences(0);
boolean silent = settings.getBoolean("silentMode", false);
2、用android.preference.Preference.getSharedPreferences()存储的SharedPreferences如何在Activity中进行访问
如在一个继承了ListPreference的类中
public void setValue(String value) {
SharedPreferences settings = getSharedPreferences();
SharedPreferences.Editor editor = settings.edit();
editor.putString(SNSWEBSITESELECTEDNAME, value);
editor.commit();
}
我们在一个Activity中如何获得这里面保存的SharedPreferences呢。
这里我们再次了解下SharedPreferences的实质,SharedPreferences实际是采用了XML格式将数据存储到设备中,在DDMS中的File Explorer中的/data/data/<package name>/shares_prefs下。而getSharedPreferences (String name, int mode)的name为preferences file名,所以说我们只要能得到上面getSharedPreferences()保存的SharedPreferences名就可以获取其保存的SharedPreferences了。
public String getValue() {
SharedPreferences settings = getSharedPreferences();
String preferencesName = this.getPreferenceManager().getSharedPreferencesName();
return settings.getString(SNSWEBSITESELECTEDNAME, "");
}
注意第三行的preferencesName值,他就表示SharedPreferences的全名。如我们得到的是com.aaa.bb.activity_preferences,那么我们直接在activity中就可以得到该值
SharedPreferences settings = getSharedPreferences("com.aaa.bb.activity_preferences", 0);
String savaString = settings.getString(SNSWEBSITESELECTEDNAME, "");
参考:
http://stackoverflow.com/questions/2614719/how-do-i-get-the-sharedpreferences-from-a-preferenceactivity-in-android
分享到:
相关推荐
**SharedPreferences基本介绍** 在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储一些简单的配置信息或用户设置。它采用键值对(key-value pair)的形式,适用于保存...
4. 数据安全:SharedPreferences中的数据存储在私有目录下,只有当前应用可以访问,确保了数据的安全性。 使用SharedPreferences的步骤: 1. 获取SharedPreferences实例:通常在Activity或Fragment中,可以通过`...
在这里,"MyPreferences"是SharedPreferences文件的名称,而`Context.MODE_PRIVATE`是访问模式,表示只有当前应用可以访问这个文件。 接着,我们可以使用`SharedPreferences.Editor`来编辑并提交更改。例如,要保存...
SharedPreferences的工作原理是基于XML文件,这些文件存储在设备的私有数据目录下,每个应用都有自己的SharedPreferences文件,不同应用之间不能直接访问。默认情况下,文件是可读写,但在Android 11及以上版本,...
然而,当多个进程同时访问同一份SharedPreferences时,可能会遇到数据访问不同步的问题,这在多进程环境下尤为突出。为了解决这个问题,我们可以采用通过注解自动生成SharedPreferences的包装类,以实现更高效、安全...
通常,SharedPreferences数据是私有的,即每个应用只能访问自己创建的SharedPreferences文件,无法直接读取其他应用的SharedPreferences。但在某些情况下,我们可能需要在不同的应用程序之间共享数据,这就涉及到跨...
这里的"MyPreferences"是SharedPreferences文件的名字,MODE_PRIVATE表示只有本应用可以访问该文件。 2. 读取数据:使用SharedPreferences对象的edit()方法获取Editor,然后调用commit()或apply()来保存数据。例如...
它非常适合用来存储应用程序的配置信息或用户偏好设置,因为这些数据通常不需要复杂的数据库操作且访问速度快。在这个小例子中,我们将探讨如何在Android应用中使用SharedPreferences来保存键值对。 首先,我们需要...
**一、SharedPreferences介绍** SharedPreferences是一个接口,Android系统提供了它的实现类`SharedPreferencesImpl`,它允许开发者以XML格式存储基本数据类型,如布尔值、整型、浮点型、字符串和字符串集。这些数据...
在Android开发中,SharedPreferences是一个轻量级的数据存储方式,用于保存应用中的小量、简单的数据,如用户设置、应用状态等。它提供了键值对(key-value pairs)的存储,支持基本数据类型如布尔型、整型、浮点型...
其中,"MyPreferences"是SharedPreferences文件的名称,而`MODE_PRIVATE`表示只有当前应用可以访问这个文件。 2. **编辑SharedPreferences**: 要保存或修改数据,我们需要创建一个`SharedPreferences.Editor`...
默认情况下,SharedPreferences文件只能被当前应用访问,如果需要其他应用也能读取,可以使用`MODE_WORLD_READABLE`或`MODE_WORLD_WRITEABLE`模式。 - **数据丢失** 在应用卸载或数据清理时,SharedPreferences...
这个实例将详细介绍如何使用SharedPreferences来保存和获取数据。SharedPreferences采用键值对的形式存储数据,支持基本数据类型,如布尔型、整型、浮点型、字符串以及长整型。 首先,我们需要理解...
以下是对SharedPreferences使用方法的详细介绍: 1. 获取SharedPreferences对象: 要使用SharedPreferences,首先需要获取到它的实例。通常有两种方式: - `getSharedPreferences(String name, int mode)`:通过...
如果你需要访问特定的SharedPreferences文件,可以使用`getSharedPreferences()`,传入文件名和操作模式。 ```java SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE); SharedPreferences ...
默认情况下,SharedPreferences文件是私有的,只能被创建它的应用访问,这为每个用户的数据隔离提供了基础。 在处理多个用户的情况下,我们通常有以下几种策略: 1. **创建多个SharedPreferences文件**:为每个...
下面将详细介绍SharedPreferences的使用方法和工具类的设计思路。 ### 1. SharedPreferences的基本用法 创建SharedPreferences对象通常通过以下方式: ```java SharedPreferences sharedPreferences = ...
SharedPreferences存储对于简单的键值对形式非常方便快捷,同时文档中介绍了如何实现两个应用程序共享某个文件?对于开发公司系列应用,同时各应用需要交叉访问数据,这一点非常有用。 4、Android权限控制 Android...