项目中需要对用户输入的信息进行存储,然后在后续程序中读取使用,利用到了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();
}