Android 官方 api:SharedPreferences 类提供了一个通用框架,以便您能够保存和检索原始数据类型的永久性键值对。您可以使用 SharedPreferences 来保存任何原始数据:布尔值,浮点值,整型值,长整型和字符串。此数据将跨多个用户会话永久保留(即使您的应用已终止亦如此)。
详解:SharedPreferences 使用 xml 格式为 Android 应用提供一种永久数据存贮方式,并且使用键值对的方式来存储数据的。相对于一个 Android 应用而言,目录 / data/data/your_app_package_name/shared_prefs / 下,可以被处在同一个应用中的所有 Activity 访问。Android 提供了相关的 API 来处理这些数据而不需要程序员直接操作这些文件或者考虑数据同步的问题。
SharedPreferences 本身是一个接口,程序无法直接创建 SharedPreferences 的实例,只能通过 Context 提供的 getSharedPreferences(String name,int mode) 方法来获取 SharedPreferences 的实例:
其中有两个参数:第一个参数用于指定 SharedPreferences 文件的名称(格式为 xml 文件),如果该名称的文件不存在则会创建一个。第二个参数用于指定操作的模式,如下:
- MODE_PRIVATE:默认操作模式,只有本应用程序才可以对这个 SharedPreferences 文件进行读写。
- MODE_WORLD_READABLE:其他应用对这个 SharedPreferences 文件只能读不能修改。
- MODE_WORLD_WRITEABLE:这个 SharedPreferences 文件能被其他的应用读写。
- MODE_MULTI_PROCESS:这个模式在 Android2.3 之后已经弃之不用了,可以省略。
此外还得提一下 SharedPreferences.Editor 对象的一些主要方法。
- SharedPreferences.Editor clear(): 删 SharedPreferences 中所有的数据。
- SharedPreferences.Editor putXxx(String key , xxx value): 向 SharedPreferences 存入指定 key 对应的数据,其中 xxx 可以是 booleant 等各种基本类型数据 。
- SharedPreferences.Editor remove(): 删除 SharedPreferences 中指定 key 对应的数据项
- boolean commit(): Editor 编辑完成后,使用该方法提交修改。
简单理解:在键值对中存储私有原始数据。
试用范围:用于保存少量数据,且数据的格式非常简单,如应用程序的各种配置信息。常见案例:音乐开关,用户账户设置,用户习惯设置,简单拓展:判断程序是不是第一次运行(使安卓 app 安卓后引导界面只显示一次)。
简单使用:
1. 存入数据
调用 edit() 以获取 SharedPreferences.Editor 对象。
使用 putBoolean() 和 putString() 等方法添加值。
使用 commit() 提交新值
2. 取出数据
调用 edit() 以获取 SharedPreferences.Editor 对象。
使用 getBoolean() 和 getString() 等 SharedPreferences 方法取出值。
读取其他应用的 SharedPreferences:
记得要被读取的应用的操作模式要是可以读取的!!!