zoukankan      html  css  js  c++  java
  • 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;
    	}
    }


  • 相关阅读:
    servlet的配置
    getRequestDispatcher()与sendRedirect()的区别
    request.setAttribute()怎么用的?
    <jsp:useBean>元素使用全解
    jsp中使用javabean简单例子
    2-1
    跟我想的一样,已经连续暴跌三天了。
    我的判断很正确
    我靠算个账发现最近打德扑输了好多钱啊,怀疑PokerStars里是不是有好多机器人作弊骗钱呢???
    1-18
  • 原文地址:https://www.cnblogs.com/riasky/p/3469124.html
Copyright © 2011-2022 走看看