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