首先介紹一下SharedPreference。
SharedPreferences是Android平臺(tái)上一個(gè)輕量級(jí)的存儲(chǔ)類,用來保存應(yīng)用的一些常用配置,比如Activity狀態(tài),Activity暫停時(shí),將此activity的狀態(tài)保存到SharedPereferences中默勾;當(dāng)Activity重載,系統(tǒng)回調(diào)方法onSaveInstanceState時(shí)倒堕,再從SharedPreferences中將值取出灾测。
其中的原理是通過Android系統(tǒng)生成一個(gè)xml文件保到:/data/data/包名/shared_prefs目錄下,類似鍵值對(duì)的方式來存儲(chǔ)數(shù)據(jù)。
Sharedpreferences提供了常規(guī)的數(shù)據(jù)類型保存接口比如:int媳搪、long铭段、boolean、String秦爆、Float序愚、Set和Map這些數(shù)據(jù)類型。
SharedPreference存儲(chǔ)形式為鍵值對(duì)形式等限,下面為存儲(chǔ)和獲取的代碼示例:
存儲(chǔ)示例
/**
參數(shù)有兩個(gè)爸吮,第一個(gè)表示Share文件的名稱,不同的名稱對(duì)應(yīng)這不同的Share文件望门,其中的內(nèi)容也是不同形娇;
第二個(gè)參數(shù)表示操作模式,操作模式有兩種:MODE_PRIVATE和MODE_MULTI_PRIVATE
MODE_PRIVATE:默認(rèn)操作模式筹误,直接在把第二個(gè)參數(shù)寫0就是默認(rèn)使用這種操作模式桐早,
這種模式表示只有當(dāng)前的應(yīng)用程序才可以對(duì)當(dāng)前這個(gè)SharedPreferences文件進(jìn)行讀寫。
MODE_MULTI_PRIVATE:用于多個(gè)進(jìn)程共同操作一個(gè)SharedPreferences文件厨剪。
*/
SharedPreferences sp = context.getSharedPreferences(PREFERENCES_NAME,Context.MODE_PRIVATE);
//獲取Editor對(duì)象哄酝,這個(gè)對(duì)象用于寫入,可理解為編輯
SharedPreferences.Editor editor = sp.edit();
//Editor對(duì)象有幾個(gè)方法需要注:clear()祷膳,commit()陶衅,putXXX(),clear()為清空Share文件中的內(nèi)容,
//commit()為提交直晨,editor在put值以后搀军,需要調(diào)用commit方法才能被真正寫入到Share文件中
editor.putString("uid", "22222").commit();
讀取示例
//先獲取對(duì)應(yīng)的Share
SharedPreferences sp=context.getSharedPreferences(PREFERENCES_NAME,Context.MODE_PRIVATE);
//根據(jù)key取出對(duì)應(yīng)的值
sp.getString("uid", "");//第二個(gè)參數(shù)為默認(rèn)值,即當(dāng)從Share中取不到時(shí)抡秆,返回這個(gè)值
我們可以使用Share存儲(chǔ)一些較輕量的信息奕巍,比如我們可以使用Share存儲(chǔ)一個(gè)值吟策,使用這個(gè)值可以判斷APP是不是第一次打開儒士。