一、SharedPreferences的基本應(yīng)用
1.基本概念
Sharedpreferences表示數(shù)據(jù)的持久化货抄,作用的作用是對配置數(shù)據(jù)的分享\共享,一般用于保存一些簡單的數(shù)據(jù)跃赚。因為代碼里的全部變量或者局部變量是存放在內(nèi)存中的囱晴,當程序結(jié)束后內(nèi)存就會釋放,里面的數(shù)據(jù)就被銷毀了实愚,所以就可以利用SharedPreferences對用的數(shù)據(jù)進行存儲兼呵,以便下次還能讀取兔辅。
數(shù)據(jù)的存放位置是/data/data/包名/,因為Android也是Linux系統(tǒng),所以可以通過終端的方式击喂,對數(shù)據(jù)進行訪問维苔,但是一定要有相應(yīng)的讀取權(quán)限。
(1)存儲數(shù)據(jù)
(2)讀取數(shù)據(jù)
3.commit與apply的區(qū)別
(1)apply沒有返回值懂昂,而commit返回boolean表明修改是否提交成功
(2)apply是將修改數(shù)據(jù)原子提交到內(nèi)存, 而后異步真正提交到硬件磁盤, 而commit是同步的提交到硬件磁 盤介时,因此,在多個并發(fā)的提交commit的時候凌彬,他們會等待正在處理的commit保存到磁盤后在操作沸柔,從而降低了效率。而apply只是原子的提交到內(nèi)容铲敛,后面有調(diào)用apply的函數(shù)的將會直接覆蓋前面的內(nèi)存數(shù)據(jù)褐澎,這樣從一定程度上提高了很多效率。
(3) apply方法不會提示任何失敗的提示伐蒋。
由于在一個進程中工三,sharedPreference是單實例,一般不會出現(xiàn)并發(fā)沖突咽弦,如果對提交的結(jié)果不關(guān)心的話徒蟆,建議使用apply,當然需要確保提交成功且有后續(xù)操作的話型型,還是需要用commit的段审。
二、數(shù)據(jù)存儲
1.存儲的分類
內(nèi)部存儲闹蒜,Internal Storage
外部存儲寺枉,External Storage
2.獲取存儲的權(quán)限
在manifest.xml文件中需要添加一條語句,以申明對存儲權(quán)限的允許
3.與SharedPreferences的優(yōu)勢點
sharedPreferences由系統(tǒng)封裝绷落,但是它不夠靈活姥闪,只能存String、boolean砌烁、int型數(shù)據(jù)筐喳,但是如果自己創(chuàng)建的話就可以存放大量的數(shù)據(jù),而且靈活性高函喉。
4.Internal storage的使用
getFileDir():返回一個File避归,代表了app的internal目錄;
getCacheDir():返回一個File管呵,代表了app的internal緩存目錄梳毙。