-
概念
SharedPreferences作为Android存储数据方式之一,它的原理是基于xml存储key-value键值对数据 -
作用
1.通常用来存储一些简单的配置信息。
2.还可以达到间接传值的目的 -
存储位置
/data/data/{包名}/shared_prefs目录下 - 使用方法
**SharedPreferences对象本身只能获取数据而不支持存储和修改,存储删除修改是通过Editor对象实现的
SharedPreferences只支持以下几种类型的数据,boolean、 int 、float、 long、String
getSharedPreferences(String name, int mode);
此方法的返回值会返回一个SharedPreferences对象
此处name表示设置xml文件的名字,mode表示存储方式
Context.MODE_PRIVATE:只被创建者读写。**
- 存数据
//创建SharedPreferences对象
SharedPreferences sp = getSharedPreferences("sp_demo",Context.MODE_PRIVATE);
//SharedPreferences对象的edit方法会返回一个Editor编辑器对象
Editor editor = sp.edit();
editor.putString("name", "小张");
editor.putInt("age", 11);
editor.putBoolean("isStudent", true);
editor.remove("isStudent");//删除的指定的key
editor.commit();//当Editor编辑完,该方法提交修改
- 取数据
boolean name=sp.contains("name");//判断是否存在key
String name = sp.getString("name", null);
int age = sp.getInt("age", 0);
sp.getAll();取出所有的键值对,返回值是Map<String,?>对象
editor.clear();//清空SharedPreferences里所有数据
当我们调用sp.getString等get方法取数据时,实际上是直接从内存中的Map里面去取,get方法传入的第一个参数正好是Map的key,如果包含这个key,则返回对应的value,如果第二个参数是当Map中没有这个key对应值的时候,则返回的默认值。