1. 程式人生 > >Android專案資料儲存之SharedPreferences

Android專案資料儲存之SharedPreferences

SharedPreference的本質是基於XML檔案儲存的key-value鍵值對資料,儲存的檔案路徑為/data/data/<包名>/shared_prefs目錄下。

注意:SharedPreference只能儲存簡單的資料型別,如string,int型別。一般會將複雜型別的資料轉換成Base64編碼,然後將轉換後的資料以字串的形式儲存在 XML檔案中,再用SharedPreferences儲存。

1.儲存資料

/**
 *建立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();
2.讀取資料
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();