Android中SharedPreferences的使用
以下是Android官方文档给出的解释:
SharedPreferences 类提供了一个通用框架,以便您能够保存和检索原始数据类型的永久性键值对。 您可以使用 SharedPreferences 来保存任何原始数据:布尔值、浮点值、整型值、长整型和字符串。 此数据将跨多个用户会话永久保留(即使您的应用已终止亦如此)
简而言之,SharedPreferences 类提供了一个基于键值对的存储简单数据的方法,并且存储的数据是可以跨应用访问的。
获取SharedPreferences对象的两种方式:
context.getSharedPreferences(String name, int mode)
PreferenceManager.getDefaultSharedPreferences(context)
两种方式的区别在于第一种需要自己指定文件名和访问模式,第二种使用默认的值。
参数解释:
name : 存储数据的文件的名字
mode:访问模式,可选的值有
Context.MODE_PRIVATE 私有方式,代表该文件是私有数据,只能由本应用访问
Context.MODE_APPEND 追加方式,首先检查文件是否存在,存在则追加内容,否则新建文件
Context.MODE_WORLD_READABLE 现在已经不推荐使用,表示当前文件可被其他应用读
Context.MODE_WORLD_WRITEABLE 现在已经不推荐使用,表示当前文件可被其他应用写
存储数据
// 获取 Editor对象,通过此对象存储数据
SharedPreferences.Editor editor = preferences.edit();
editor.putString(key, value);
// 最后需要调用 commit 方法,才能将数据最终存入文件
editor.commit();
读取数据
// 读取数据较存储数据就很简单了,只需要提供数据的key值,当找不到该key对应的数据时,就会返回 defValue 默认值
preferences.getString(key, defValue)
当存储或读取其他类型的数据时,与以上基本相同。SharedPreferences类常用来存储应用的设置,以及所有适用于以键值对结构存储的数据。