1、概述
SharedPreferences
类提供了一个通用框架,以便您能够保存和检索原始数据类型的永久性键值对。 您可以使用 SharedPreferences
来保存任何原始数据:布尔值、浮点值、整型值、长整型和字符串。 此数据将跨多个用户会话永久保留(即使您的应用已终止亦如此)。
要获取应用的 SharedPreferences
对象,请使用以下两个方法之一:
getSharedPreferences()
- 如果您需要多个按名称(使用第一个参数指定)识别的首选项文件,请使用此方法。
getPreferences()
- 如果您只需要一个用于 Activity 的首选项文件,请使用此方法。 由于这将是用于 Activity 的唯一首选项文件,因此无需提供名称。
备注:getSharedPreferences()是Context的方法。getPreferences()是Activity的方法。
2、保存数据
保存数据的方法很简单。是由 SharedPreferences.Editor 类来完成。
Editor 对象获取:SharedPreferences
提供了一个方法 --> edit(),通过调用该方法就可拿到SharedPreferences.Editor的对象。
下面是SharedPreferences.Editor提供的方法:
由上图我们可以看出SharedPreferences支持保存的数据类型有:boolean、float、int、long、String、String类型的Set。
简单使用示例:
1 SharedPreferences preferences = getSharedPreferences("sharedName", MODE_PRIVATE); 2 SharedPreferences.Editor editor = preferences.edit(); 3 editor.putString("key", "abc"); 4 editor.commit();
备注:上面的第四行代码很重要,没有这句代码,数据是不会真正保存。其实SharedPreferences的数据本质是保存在一个固定格式的XML中,不执行第四行代码,数据还是只是存在与内存中,只有执行了第四行代码,数据才会保存到XML中,数据才能持久化。
MODE_PRIVATE:数据的访问权限,表示私有,别的应用无法访问。还有另外两种模式,此处不再赘述。
3、获取数据
获取数据也很简单。获取数据是由SharedPreferences类来完成。
下面是SharedPreferences类提供获取数据的方法。很全面了,不在细说了。
简单使用示例:
1 SharedPreferences preferences = getSharedPreferences("sharedName", MODE_PRIVATE); 2 String text = preferences.getString("key", "");
4、官方地址
官方文档地址:https://developer.android.com/guide/topics/data/data-storage.html#pref