Android 使用sharedpreferences、ACache緩存用戶名和密碼

最近的Android項目上面需要用到緩存,所以查了一下緩存數據的方法,下面是介紹:

1、sharedpreferences

這個是學Android的朋友都會接觸到的持久化技術,我是通過《第一行代碼》學習的,有興趣的朋友可以自行翻閱此書進行更全面的學習。

以下引用百度百科上的介紹:SharedPreferences是Android平臺上一個輕量級的存儲類,用來保存應用的一些常用配置,比如Activity狀態,Activity暫停時,將此activity的狀態保存到SharedPereferences中;當Activity重載,系統回調方法onSaveInstanceState時,再從SharedPreferences中將值取出。

SharedPreferences 文件是使用 XML 格式來對數據進行管理的 ,這很容易看出來,因爲存儲的時候,就是通過鍵值對的方式進行數據存儲的,看看下面的代碼就能知道,這個存儲機制是非常方便的,因爲這個類上的方法會判斷輸入的值是何種類型,進而自動保存成那種類型的數據,爲了展示方便,我直接上《第一行代碼》上的源碼:

SharedPreferences.Editor editor = getSharedPreferences("data",MODE_PRIVATE).edit();
editor.putString("name", "Andy");
editor.putInt("age", 22);
editor.putBoolean("married", false);
editor.commit();
這樣就算是存儲完成了,讀取也是非常簡單的:
SharedPreferences pref = getSharedPreferences("data",MODE_PRIVATE);
String name = pref.getString("name", "");
int age = pref.getInt("age", 0);
boolean married = pref.getBoolean("married", false);
如果讀取不成功(沒有緩存此數據),那麼就會返回傳入的默認值,使用這個技術緩存用戶名和密碼,只需要在app開啓的時候,自動去讀取緩存好的用戶名密碼,然後寫到界面中即可,非常方便。


2、ACache(ASimpleCache)

這是一個輕量級的緩存框架,以至於你只需要導入一個java文件就可以輕鬆使用裏面的緩存功能。關於這個框架的資源和介紹,網上真的是一大堆,我這裏的介紹只不過是粗略簡介,很多人的博客上面都會介紹,而且大家的介紹都是一模一樣的,都寫着原創,都已經不知道誰纔是真正的原創了,只有一點是確定的,這個框架是楊福海做的,大家有興趣可以去關注下這個人,我這裏就只說一下這個框架對比sharedpreferences的優勢和用法吧:

優勢:

SharedPreferences只能保存一些基本數據類型、Serializable、Bundle等數據,
而Acache可以緩存如下數據:
普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的Java對象,和 byte數據。

使用方法,超簡單,我緩存的是JsonObject數據:

ACache mCache = ACache.get(this);
JSONObject jsonObject = new JSONObject();
try {
	//封裝json數據
	jsonObject.put("userName", strName);
	jsonObject.put("userPad", strPsd);
} catch (Exception e) {
}
mCache.put("user", jsonObject);
讀取數據也是非常簡單:

ACache mCache = ACache.get(this);
JSONObject jsonObject = mCache.getAsJSONObject("user");

不過值得注意的是,讀取緩存的Json數據的時候,如果緩存中並沒有找到相應的數據,是會返回一個null的,也就是說JSONObject的值爲null,這個時候就不要去讀取JSONObject裏面的值了,會出錯的,建議的方法是讀取JSONObject裏面的值之前先判斷一下JSONObject是否爲空。

好了,使用sharedpreferences、ACache緩存用戶名和密碼的方法就介紹到這裏,午安。

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