SharedPreferences保存的数据只要是简单类型的key-value对
SharedPreferences接口主要负责读取应用程序的Preferences数据,有如下方法来访问SharedPreferences中的key-value对。
--》1.boolean contains(String key);判断SharedPreferences是否包含特点key的数据。
--》2.abstract Map<String, ?> getAll(); 获取SharedPreferences数据里全部的key-value对。
--》3.boolean getXxx(String key, xxx defValue);获取SharedPreferences里指定key的value,xxx可以是boolean、float、int、long、String等各种基本类型。
SharedPreferences接口并没有提供写入数据的能力,而是通过SharedPreferences的内部接口,SharedPreferences调用edit()方法即可获取它所对应的Editor对象,Editor提供了如下方法来向SharedPreferences写入数据。
--》1.SharedPreferences.Editor clear();清空SharedPreferences里所有数据。
--》2.SharedPreferences.Editor putXxx(String key, xxx value);
--》3.SharedPreferences.Editor remove(String key);删除指定key对应的数据项。
--》4.boolean commit();当Editor编辑完成后,调用该方法提交修改。
SharedPreferences本身是一个接口,程序无法直接创建SharedPreferences实例,只能通过Context提供的getSharedPreferences(String name, int mode);方法来获取SharedPreferences实例,该方法第二个参数的支持如下几个值:
Context.MODE_PRIVATE: 指定SharedPreferences数据只能被本应用程序读写。
Context.MODE_WORLD-READABLE: 指定该SharedPreferences数据能被其它应用程序读,但不能写。
Context.MODE_WORLD_WRITEABLE: 同反
信息存储位置:
附上小实例代码:
可以将SharedPreferences的相关操作包装在一个类里面:
public class SharedPreferencesHelper {
SharedPreferences sp;
SharedPreferences.Editor editor;
Context context;
public SharedPreferencesHelper(Context c, String name) {
context = c;
sp = context.getSharedPreferences(name, 0);
editor = sp.edit();
}
public void putValue(String key, int value) {
editor = sp.edit();
editor.putInt(key, value);
editor.commit();
//Common.month_total = value;
}
public int getValue(String key) {
int value = sp.getInt(key, 240);
//Common.month_total = value;
return value;
}
}