一、概述
SharedPreferences是Android平台上的一个轻量级的存储类,它主要用于存储一些应用程序的配置参数,例如用户名、密码、自定义参数的设置等。它是通过key/value(键值对)的形式将数据保存再XML文件中(如需查看文件内容,可从Device File Explorer进行查看,该文件位于data/data/<包名>/shared_prefs文件夹中)。
注意:
1.千万不能用它去存储量大的数据,否则会大大影响应用性能。
2.SharedPreferences中的value只能是Float、int 、Long、Boolean、String、StringSet类型的数据。
二、SharedPreferences的使用
1.存储数据
使用SharedPreferences存储数据时,首先要调用getSharedPreferences(String name,int mide)获取实例对象,再调用SharedPreferences的edit()方法获取可编辑的 Editor对象,最后通过该对象的putString()方法和putInt()方法存储数据。示例代码如下:
//获取sp对象, 参数名"data"表示文件名,MOOD_PRIVATE表示文件操作模式
SharedPreferences sp = getSharedPreferences("data",MOOD_PRIVATE);
SharedPreferences .Editor editor = sp.edit(); //获取编辑器
editor.putSting("Name","狗蛋"); //存入String类型数据
editor.pitInt("age",0); //存入int类型的数据
editor.conmit(); //提交修改
注意:
1.要获取编辑器后才可以进行操作。
2.操作完一定要调用commit()方法进行数据的提交,否则所有操作不生效。
拓展:
如果需要删除数据,则只要调用Editor对象的remove(String key)方法或者clear()方法即可。
editor.remove("name"); //删除一条数据
deitor.clear(); //删除所有数据
2.获取数据
需要获取到SharedPreferences 对象,然后通过该对象的get***()方法获取到相应key的值即可。示例代码如下:
SharedPreferences sp = getSharedPreferences ("data",MOOD_PRIVATE);
String data = sp.getString("name",""); //获取用户名
注意:
1.get***()方法的第二个参数为缺省值,如果sp中不存在该key,将返回缺省值。例如若name不存在,则key就返回空字符串。
2.获取数据的key值与存入数据的key值的数据类型要一致,否则查找不到数据。
3.保存SharedPreferences 的key值时,可以用静态变量保存,以免存储、删除时候写错了。如:private static final String key = “hello”