【Android数据存储】SharedPreferences

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

原文地址:https://www.cnblogs.com/shidian/p/7401652.html