Android 保存用戶偏好設置

很多情況下都允許用戶根據自己的習慣和愛好去設置軟件,而我們需要保存這些設置,可以用一個專業保存用戶偏好的類:SharedPreferences。

這個類是實現方法其實也就是創建和修改 XML 文件, 所以當使用這個類保存瞭偏好設置,會在 /data/data//shared_prefs 下創建一個 XML 文件。

調用上下文的靜態方法 getSharedPreferences 獲取 SharedPreferences 的實例化對象。getSharedPreferences 方法有2個參數,一個是文件名,一個是訪問文件的模式。當然這個方法也是 Activity 的方法,如果調用 Activity 的 getSharedPreferences 方法,那麼它隻有一個參數,也就是訪問文件的模式,文件名不用指定是因為它會默認使用繼承 Activity 類的類名。

保存偏好設置時,要通過 SharedPreferences 對象得到一個 Editor 對象,用這個對象來操作。

由於這個類使用非常方便,還是直接貼代碼,非常直觀。

我寫的 PrefsHelper 類:

public class PrefsHelper {
	private Context context;
	
	public PrefsHelper(Context context) {
		this.context = context;
	}
	
	public boolean save(Map settings, String fileName) {
		SharedPreferences sp = context.getSharedPreferences(fileName, Context.MODE_PRIVATE);
		Editor editor = sp.edit();
		for (String strKey : settings.keySet()) {
			editor.putString(strKey, settings.get(strKey));
		}
		return editor.commit();
	}
	
	@SuppressWarnings("unchecked")
	public Map read(String fileName) {
		Map settings = new HashMap();
		SharedPreferences sp = context.getSharedPreferences(fileName, Context.MODE_PRIVATE);
		settings = (Map) sp.getAll();
		return settings;
	}
}

發佈留言