SharedPreferences类使用
SharedPreferences概述
SharedPreferences是Android中常用的一个轻量级存储数据的类,使用SharedPreferences会在 /data/data/包名/shared_prefs/user.xml (存储路径可能会有不同) 目录下生成 xml文件,数据会在该文件中以 键值对的形式存储。它提供了String、int、boolean、float、set、long六种数据类型,在应用中通常用于一些简单数据的永久缓存。
SharedPreferences常用方法
获取SharedPreferences实例
引用头文件 import android.content.SharedPreferences;
getSharedPreferences(String name, int mode)
参数:name : 用于存储数据的文件的名称; mode: 存储方式
返回一个SharedPreferenced实例,如果目录下不存在相应名称的xml文件,则会进行创建
MODE_PRIVATE | 该 SharedPreferences 的数据只能被本应用程序读、写 |
---|---|
MODE_WORLD_READABLE | 该SharedPreferences的数据可以被其他应用程序读,但不能写 |
MODE_WORLD_WRITEABLE | 该SharedPreferences的数据可以被其他应用程序写 |
MODE_APPEND | 该模式会检查文件是否存在,存在就向其追加内容,不存在则创建新文件 |
获取Editor对象
通过Editor进行数据操作
SharedPreferences sp = getSharedPreferences("user",MODE_PRIVATE );
SharedPreferences.Editor editor = sp.edit();
添加数据
添加数据之后,需要用 editor.commit() 或 editor.apply()进行提交,数据才会存储在xml文件中
修改数据
修改数据同样使用上述put方法,xml文件中已有相应的键值对时,将原值直接覆盖掉
需要用 editor.commit() 或 editor.apply()进行提交
获取数据
int age = editor.getInt("age",0);//第一个参数为 key,第二个参数为默认值,当没有key时,则返回默认值
String str = editor.getString("name","");
boolean b = editor.getBoolean("isStudent",true);
删除数据
editor.remove("age");//在xml文件中删除相应的键值对
editor.commit();
清除数据
清除数据会将xml文件中所有的键值对数据全部删除,但并不会删除文件
editor.clear();
editor.commit();