標籤:android 資料存放區
SharedPreferences也是一種輕型的資料存放區方式,它的
本質是基於XML檔案儲存體key-value鍵值對資料,通常用來儲存一些簡單的配置資訊。其儲存位置在
/data/data/<包名>/shared_prefs目錄下。讀取SharedPreference 1.擷取SharedPreference對象
/*
* name 開啟的SharedPreferences檔案名稱(不需要.xml尾碼)
* mode 開啟的SharedPreferences模式
*/
SharedPreferences getSharedPreferences (String name,
int mode)四種SharedPreferences擷取的模式
Context.MODE_PRIVATE = 0
Context.MODE_WORLD_READABLE = 1
Context.MODE_WORLD_WRITEABLE = 2
Context. MODE_MULTI_PROCESS = 4MODE_PRIVATE 為預設操作模式,代表該檔案是私人資料,只能被應用本身訪問,在該模式下寫入的內容會覆蓋原檔案的內容。MODE_WORLD_READABLE 表示當前檔案可以被其他應用讀取。MODE_WORLD_WRITEABLE 表示當前檔案可以被其他應用寫入。MODE_MULTI_PROCESS SharedPreference的裝載標記,設定它,檔案將會在SharedPreference執行個體被裝載到進程的時候檢查是否被修改,主要用在一個應用有多個進程的情況。2.讀取資料使用SharedPreference的getXXX()擷取相應的資料,主要包括:
boolean getBoolean(String key,
boolean defValue)
float getFloat(String key,
float defValue)
int getInt(String key,
int defValue)
long getLong(String key,
long defValue)
String getString(String key, String defValue)
Set<String> getStringSet(String key, Set<String> defValues)
寫入SharedPreference需要注意的是SharedPreferences對象本身只能擷取資料而不支援儲存和修改,
儲存修改是通過Editor對象實現。實現SharedPreferences儲存的步驟如下:1.根據Context擷取SharedPreferences對象同讀取SharedPreferences擷取SharedPreferences對象步驟2.利用edit()方法擷取Editor對象。通過SharedPreferences.edit()擷取Editor對象3.通過EditorObject Storage Servicekey-value鍵值對資料。
putBoolean(String key,
boolean value)
putFloat(String key,
float value)
putInt(String key,
int value)
putLong(String key,
long value)
putString(String key, String value)
putStringSet(String key, Set<String> values)Tips:這裡有個問題,putXXX的返回值是SharedPreferences.Editor對象,Android Developer上面說的是:Returns
- Returns a reference to the same Editor object, so you can chain put calls together.
甚是不解,求大神解釋。4.通過commit()方法提交資料。
/*
* return 如果成功提交新資料返回true反之false
*/
boolean commit()
Tips:如果希望SharedPreferences背後使用的xml檔案能被其他應用讀和寫,可以指定Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE許可權。但是實際上即使用了MODE_WORLD_WRITEABLE許可權,別的應用程式也是不能修改本程式的資料的。如果其他程式要修改本程式資料可以在設定檔中使用android:sharedUserId。