android的SharedPreferences详解

        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;
	}

}

猜你喜欢

转载自aarongo.iteye.com/blog/1914432
今日推荐