資源描述:
《第8章 數(shù)據(jù)存儲(chǔ)與訪問(wèn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、第8章數(shù)據(jù)存儲(chǔ)和訪問(wèn)本章學(xué)習(xí)目標(biāo):掌握SharedPreferences的使用方法掌握各種文件存儲(chǔ)的區(qū)別與適用情況了解SQLite數(shù)據(jù)庫(kù)的特點(diǎn)和體系結(jié)構(gòu)掌握SQLite數(shù)據(jù)庫(kù)的建立和操作方法理解ContentProvider的用途和原理掌握ContentProvider的創(chuàng)建與使用方法8.1簡(jiǎn)單存儲(chǔ)8.1.1SharedPreferencesSharedPreferences是一種輕量級(jí)的數(shù)據(jù)保存方式通過(guò)SharedPreferences可以將NVP(Name/ValuePair,名稱(chēng)/值對(duì))保存在Android的文件系統(tǒng)中,而且SharedPreferences完全屏蔽的對(duì)文件系統(tǒng)
2、的操作過(guò)程開(kāi)發(fā)人員僅是通過(guò)調(diào)用SharedPreferences對(duì)NVP進(jìn)行保存和讀取8.1簡(jiǎn)單存儲(chǔ)8.1.1SharedPreferencesSharedPreferences不僅能夠保存數(shù)據(jù),還能夠?qū)崿F(xiàn)不同應(yīng)用程序間的數(shù)據(jù)共享SharedPreferences支持三種訪問(wèn)模式私有(MODE_PRIVATE):僅有創(chuàng)建程序有權(quán)限對(duì)其進(jìn)行讀取或?qū)懭肴肿x(MODE_WORLD_READABLE):不僅創(chuàng)建程序可以對(duì)其進(jìn)行讀取或?qū)懭?,其他?yīng)用程序也讀取操作的權(quán)限,但沒(méi)有寫(xiě)入操作的權(quán)限全局寫(xiě)(MODE_WORLD_WRITEABLE):創(chuàng)建程序和其他程序都可以對(duì)其進(jìn)行寫(xiě)入操作,但沒(méi)有讀取
3、的權(quán)限8.1簡(jiǎn)單存儲(chǔ)8.1.1SharedPreferences在使用SharedPreferences前,先定義SharedPreferences的訪問(wèn)模式下面的代碼將訪問(wèn)模式定義為私有模式有的時(shí)候需要將SharedPreferences的訪問(wèn)模式設(shè)定為即可以全局讀,也可以全局寫(xiě),這樣就需要將兩種模式寫(xiě)成下面的方式publicstaticintMODE=MODE_PRIVATE;publicstaticintMODE=Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE;8.1簡(jiǎn)單存儲(chǔ)8.1.1SharedPreferen
4、ces定義SharedPreferences的名稱(chēng),這個(gè)名稱(chēng)與在Android文件系統(tǒng)中保存的文件同名。因此,只要具有相同的SharedPreferences名稱(chēng)的NVP內(nèi)容,都會(huì)保存在同一個(gè)文件中為了可以使用SharedPreferences,需要將訪問(wèn)模式和SharedPreferences名稱(chēng)作為參數(shù),傳遞到getSharedPreferences()函數(shù),并獲取到SharedPreferences對(duì)象publicstaticfinalStringPREFERENCE_NAME="SaveSetting";SharedPreferencessharedPreferences=g
5、etSharedPreferences(PREFERENCE_NAME,MODE);8.1簡(jiǎn)單存儲(chǔ)8.1.1SharedPreferences在獲取到SharedPreferences對(duì)象后,則可以通過(guò)SharedPreferences.Editor類(lèi)對(duì)SharedPreferences進(jìn)行修改,最后調(diào)用commit()函數(shù)保存修改內(nèi)容SharedPreferences廣泛支持各種基本數(shù)據(jù)類(lèi)型,包括整型、布爾型、浮點(diǎn)型和長(zhǎng)型等等SharedPreferences.Editoreditor=sharedPreferences.edit();editor.putString("Name"
6、,"Tom");editor.putInt("Age",20);editor.putFloat("Height",);editor.commit();8.1簡(jiǎn)單存儲(chǔ)8.1.1SharedPreferences如果需要從已經(jīng)保存的SharedPreferences中讀取數(shù)據(jù),同樣是調(diào)用getSharedPreferences()函數(shù),并在函數(shù)的第1個(gè)參數(shù)中指明需要訪問(wèn)的SharedPreferences名稱(chēng),最后通過(guò)get()函數(shù)獲取保存在SharedPreferences中的NVPget()函數(shù)的第1個(gè)參數(shù)是NVP的名稱(chēng)第2個(gè)參數(shù)是在無(wú)法獲取到數(shù)值的時(shí)候使用的
7、缺省值SharedPreferencessharedPreferences=getSharedPreferences(PREFERENCE_NAME,MODE);Stringname=sharedPreferences.getString("Name","DefaultName");intage=sharedPreferences.getInt("Age",20);floatheight=sharedPreferences.getFloat("Height