1 .适用范围:
保存少量的数据,且数据格式简单,一个应用可以创建多个这样的xml文件。
2 .存储路径:
以XML文件存储的key-value键值对数据的 形式存在/data/data//shared_prefs/目录下
3 .存储类型:
任何基本数据类型(boolean, float, int, long, string)
4 .mode类型(权限):
- Context.MODE_PRIVATE(数据只能被本应用程序读、写)
- Context.MODE_WORLD_READABLE(数据能被其他应用程序读,但不能写)
- Context.MODE_WORLD_WRITEABLE(数据能被其他应用程序读和写)
- Context.MODE_MULTI_PROCESS(sdk2.3后添加的选项,当多个进程同时读写同一个SharedPreferences时它会检查文件是否修改)
5 .写入数据:
public void dataWrite(){
SharedPreferences preferences = getSharedPreferences("lock", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("passed", "456456");
editor.commit();
}
6 .读取数据
public void dataRead(){
SharedPreferences preferences = getSharedPreferences("lock", MODE_PRIVATE);
String value = preferences.getString("passed", "888");//字符串
int vInt = preferences.getInt("key", 0);//整形
boolean vBoolean = preferences.getBoolean("key", false);
float vFloat = preferences.getFloat("key", 0.1f);
long vLong = preferences.getLong("key", 123);
}
7 .清除所有数据
public void dataClear(){
SharedPreferences preferences = getSharedPreferences("lock", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.clear();
editor.commit();
}
8 .移除指定key的数据
public void dataRemove(){
SharedPreferences preferences = getSharedPreferences("lock", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.remove("passed");
editor.commit();
}
9 .备注:
- 只能通过Context提供的getSharedPreferences(String xml文件名, int mode)方法来获取SharedPreferences实例
- 用到SharedPreferences.Editor变量必须提交才能执行