Android專案資料儲存之SharedPreferences
阿新 • • 發佈:2019-01-02
SharedPreference的本質是基於XML檔案儲存的key-value鍵值對資料,儲存的檔案路徑為/data/data/<包名>/shared_prefs目錄下。
注意:SharedPreference只能儲存簡單的資料型別,如string,int型別。一般會將複雜型別的資料轉換成Base64編碼,然後將轉換後的資料以字串的形式儲存在 XML檔案中,再用SharedPreferences儲存。
1.儲存資料
2.讀取資料/** *建立SharedPreferences物件,getSharedPreferences()方法中第一個引數為檔名稱,第二個引數為指定應用程式訪問許可權。 *SharedPreferences的四種操作模式: *Context.MODE_PRIVATE:為預設操作模式,代表該檔案是私有資料,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原檔案的內容。 *Context.MODE_APPEND:模式會檢查檔案是否存在,存在就往檔案追加內容,否則就建立新檔案。 *MODE_WORLD_READABLE:表示當前檔案可以被其他應用讀取。 *MODE_WORLD_WRITEABLE:表示當前檔案可以被其他應用寫入。 */ SharedPreferences sp = getSharedPreferences("user",Context.MODE_PRIVATE); /** *使用SharedPreferences介面的edit獲得SharedPreferences.Editor物件,讓user處於編輯狀態。 */ SharedPreferences.Editor editor = sp.editor(); /** * 通過SharedPreferences.Editor介面的putXxx方法儲存key-value對。其中Xxx表示不同的資料型別。例如:字串型別的value需要用putString方法。 */ editor.putString("name","zhangbiao"); editor.putString("psw","110"); /** * 通過SharedPreferences.Editor介面的commit方法儲存key-value對 */ editor.commit();
SharedPreferences sp = getSharedPreferences("user", Context.MODE_PRIVATE);
String name = sp.getString("name","預設值");
String psw = sp.getString("psw", "default");
3.清除指定資料
SharedPreferences sp = getSharedPreferences("user", Context.MODE_PRIVATE); SharedPreferences.Editor editor = sp.edit(); editor.remove("name"); editor.commit();
4.清空資料
SharedPreferences sp = getSharedPreferences("user", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.clear();
editor.commit();