標籤:
今天看了一下android的資料存放區,android的資料存放區主要有三種方式:
1、普通的檔案儲存體。
關於普通的檔案儲存體,android的Context類有一個openFileOutput()方法來返回一個FileOutPutStream對象,通過這個對象,就可以使用java流的方式來將資料寫入到檔案中。它主要利用的還是java的流思想,這裡我就不深入講解了。
2.SharedPreferences儲存
SharedPreference是使用索引值對(圖的思想)來儲存資料的,它是以XML格式存在/data/data/<packagename>/shared_prefs檔案夾下面。這樣對於資料的讀取比普通的檔案儲存體有更快的速度,同時操作也更加簡單。它主要支援以下六種類型的值的儲存——boolean, String, int, float, long, set<String>.
下面來介紹以下SharedPreferences的使用方法:
A.SharedPreferences對象的擷取:
a.Context類中的getSharedPreferences()方法
getSharedPreferences()函數接受兩個參數,第一個來指定檔案的名稱,如果該檔案不存在會建立一個新的檔案,第二個指定操作的模式:MODE_PRIVATE(預設值,和0的效果相同)和MODE_MULTI_PTOCESS。
b.Activity中的getPreferences()方法
getPreferences()方法只有一個參數(指定操作的模式),檔案的名字會由當前活動的類名來替代。
c.PreferenceManager類中的getDefaultSharedPreferences()方法
getDecaultSharedPreferences()方法是一個靜態方法,它接受一個Context參數,他是使用當前應用的包名作為首碼來命名SharedPreferences檔案。能不能跨程式使用,待考證
B.資料儲存到SharedPreferences檔案
首先是SharedPreferences.Editor editor = getSharedPreferences("data/*檔案名稱*/",MODE_PRIVATE/*操作模式*/).edit(這裡應該有三種方法哦)獲得對象
//插入需要SharedPreferences.Editor類的對象才行(至於為什麼,作為一個初學者,還要需要深入瞭解才行啊),這裡就是通過getSharedPreferences的edit()方法來擷取的該對象;
然後是editor.putString(key, value)/*這裡key是String類型的。。。*/將我們要寫入檔案的值形成索引值對先存到editor對象中。
最後是editor.commit();將我們的存在editor對象中的索引值對提交到SharedPreferences檔案中去。
C.從SharedPreferences檔案中讀出資料
開始是SharedPreferences pref = getSharedPreferences("data", MODE_PRIVATE)(這裡應該也有三種方法哦)
//從檔案中讀出資料需要SharedPreferences對象,這裡就是通過getSharedPreferences來獲得的。
最後是String str = pref.getString(key, defaultvalue),將key鍵對應的值讀出來賦給str,當key鍵對應的值為空白時,就將defaultvalue賦給key鍵對應的值。
今天就到這裡,下次再來仔細描述輕量級資料庫SQLite的使用。。。
Android——資料存放區篇(1)