SharedPreferences接口,SharedPreferences存储的是简单类型的key—value对,SharedPreferences主要负责读取应用程序的Preferences数据,提供了如下方法来访问SharedPreferences中的键值对:
boolean contains(String key):判断SharedPreferences是否包含特定的Key的数据
abstract Map < String.?> getAll():获取SharedPreferences数据里的全部键值对
boolean getXxx(String key,xxx defValue):获取SharedPreferences数据里的指定的key的value,如果该key不存在呢返回默认的defValue,数据类型可以是String、long、int、float等基本数据类型
SharedPreferences接口本身没有提供写入数据的能力,是通过他的内部接口,SharedPreferences调用edit()方法得到Editor对象,对象能使用如下方法写数据:
- SharedPreferences.Editor clear():清空SharedPreferences的数据
- SharedPreferences.Editor putXxx(String key,xxx value):向SharedPreferences存入指定key的对应数据
boolean commit():编辑完成后提交数据
SharedPreferences本身是个接口,无法创建实例,只能通过context提供的getSharedPreferences(String name,int mode)得到实例。mode有4个参数:
- MODE_PRIVATE 指定该SharedPreferences只能被本应用读写
- MODE_WORLD_READABLE 指定能被其他应用读,但不能写
- MODE_WORLD_WRITEABLE 指定能被其他应用写,不能读
Demo(在一个button的点击事件里):
public void onClick(View v) {
switch (v.getId()){
case R.id.btn_read:
mSharedPreferences=getSharedPreferences("edit_write", MODE_PRIVATE);//名称,mode
String text= mSharedPreferences.getString("edit","haha");
mTextview.setText(text);
break;
case R.id.btn_write:
mSharedPreferences=getSharedPreferences("edit_write", MODE_PRIVATE);
SharedPreferences.Editor editor=mSharedPreferences.edit();
editor.putString("edit", mEditext.getText().toString());
editor.commit();
break;
生成文件: