Android 保存用户偏好设置

很多情况下都允许用户根据自己的习惯和爱好去设置软件,而我们需要保存这些设置,可以用一个专业保存用户偏好的类:SharedPreferences。

这个类是实现方法其实也就是创建和修改 XML 文件, 所以当使用这个类保存了偏好设置,会在 /data/data/<package name>/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<String, String> 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<String, String> read(String fileName) {

		Map<String, String> settings = new HashMap<String, String>();

		SharedPreferences sp = context.getSharedPreferences(fileName, Context.MODE_PRIVATE);

		settings = (Map<String, String>) sp.getAll();

		return settings;

	}

}


 

 

你可能感兴趣的:(android)