項目中需要對使用者輸入的資訊進行儲存,然後在後續程式中讀取使用,利用到了SharedPreferences類。
儲存操作
通常會在onPause()方法中進行Preferences的儲存操作。
public SharedPreferences getSharedPreferences (String name, int mode)
其中name為Preferences的檔案名稱
mode有以下三種:
MODE_PRIVATE 表示當下應用程式專用
MODE_WORLD_READABLE 表示資料能被其他應用應用程式讀,但是不能寫。
MODE_WORLD_WRITEABLE 表示資料能被其他應用應用程式讀,寫。
通過SharedPreferences.Editor對Preferences進行寫入設定。
SharedPreferences.Editor editor = preferences.edit();
再利用SharedPreferences.Editor的putBoolean()、putFloat()、putInt()、putLong()及putString()方法進行資料的寫入。
最後需要執行commit()方法,才能將設定真正寫入。
讀取操作
同樣通過getSharedPreferences()來指定檔案名稱。再使用getBoolean()、getFloat()、getInt()、getLong()及getString()方法來讀取資料。
可以設定如果沒有讀到相應資料的預設傳回值。
--------------------------------------------------
讀取preferences的程式
/**
* read the preferences and get the value
* @return String
*/
protected String readPreferences(String perferencesName, String key) {
SharedPreferences preferences = getSharedPreferences(perferencesName, MODE_PRIVATE);
String result = preferences.getString(key, null);
return result;
}
寫入preferences的程式
/**
* write the preferences
*/
protected void writePreferences(String perferencesName, String key, String value) {
SharedPreferences preferences = getSharedPreferences(perferencesName, MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString(key, value);
editor.commit();
}