項目中需要對用戶輸入的信息進行存儲,然后在后續程序中讀取使用,利用到了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();
}