【Android】數據存儲之Sharepreference


官方API對於Sharepreference是這樣描述的:


這個方法一般是爲了存儲具有Key-Value特徵的數據。


我們可以從一個上下文對象中獲取共享應用,他提供一個框架在保存和獲取一些K-V的持久化數據。

具體步驟如下:

1.獲取一個Sharepreference:

SharedPreferences sharedPreferences = context.getSharedPreferences(
				"userinfo", Context.MODE_PRIVATE);


2.獲取一個編輯器:

SharedPreferences.Editor editor =   sharedPreferences.edit();

3.通過編輯器放入數據:

editor.putString("name", name);
editor.putString("pswd", pswd);

4.最後需要提交

editor.commit(); 


一個完整的代碼如下:

public boolean saveMessage(String name, String pswd) {
		boolean flag = false;
		SharedPreferences sharedPreferences = context.getSharedPreferences(
				"userinfo", Context.MODE_PRIVATE);
		//對數據進行編輯 
		SharedPreferences.Editor editor =   sharedPreferences.edit();
		editor.putString("name", name);
		editor.putString("pswd", pswd);
		flag = editor.commit();  //將數據持久化到存儲介質
		return flag;
	}

如果是讀數據,那麼需要Map類型來存儲:

1.生成一個HashMap對象:

Map<String,Object> map = new HashMap<String,Object>();

2.獲取共享引用對象:

SharedPreferences sharedPreferences  =context.getSharedPreferences("userinfo", Context.MODE_PRIVATE);

3.取出數據並放入Map中:

String name = sharedPreferences.getString("name", null);
		String pswd = sharedPreferences.getString("pswd", null);
		map.put("name",name);
		map.put("pswd", pswd);

完整代碼如下:

public Map<String,Object> getMessage(){
		Map<String,Object> map = new HashMap<String,Object>();
		SharedPreferences sharedPreferences  =context.getSharedPreferences("userinfo", Context.MODE_PRIVATE);
		String name = sharedPreferences.getString("name", null);
		String pswd = sharedPreferences.getString("pswd", null);
		map.put("name",name);
		map.put("pswd", pswd);
		return map;
	}





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章