一 、Android SharedPreferences的简介
SharedPreferences是一种轻型的Android数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。比较经典的使用方式例如用户输入框对过往登录账户的存储。实现SharedPreferences存储的步骤如下:
1、根据Context获取SharedPreferences对象
2、利用edit()方法获取Editor对象。
3、通过Editor对象存储key-value键值对数据。
4、通过commit()方法提交数据。
二、SharedPreferences和Editor 的关系
1、SharedPreferences
public abstract SharedPreferences getSharedPreferences (String name, int mode)
方法得到一个sharedpreferences对象,参数name是preference文件的名字,mode则是方式,默认为0。
2、Editor
Editor可用于SharedPreferences数据的添加,删除,修改和查询。
Public abstract SharedPreferences.Editor putString (String key,String value)
通过执行commit()或是apply()方法,将会应用更改。
三、SharedPreferences的代码片段
// 存储sharedpreferences
public void setSharedPreference() {
sharedPreferences = getSharedPreferences("itcast", Context.MODE_PRIVATE);
Editor editor = sharedPreferences.edit();
editor.putString("username", text1.getText().toString());
editor.putInt("password", getpw());
editor.commit();// 提交修改
}
// 清除sharedpreferences的数据
public void removeSharedPreference() {
sharedPreferences = getSharedPreferences("itcast", Context.MODE_PRIVATE);
Editor editor = sharedPreferences.edit();
editor.remove("username");
editor.remove("password");
editor.commit();// 提交修改
}
// 获得sharedpreferences的数据
public void getSahrePreference() {
String username = sharedPreferences.getString("username", "");
int password = sharedPreferences.getInt("password", 0);
String str = String.valueOf(password);
text1.setText(username);
text2.setText(str);
}