• 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;
    	}
    }


  • 相关阅读:
    MVC Controller 下载文件
    C#中字符串转日期类型
    MVC中使用Hangfire按秒执行任务
    Excel vba中访问ASP.NET MVC项目,记录访问时间,文件名称
    MSSQL SERVER收缩日志文件
    匿名线程启动
    常用颜色表以及中国传统颜色名录
    elasticsearch.net search入门使用指南中文版
    InstallShield程序打包图解
    [转]让程序只能打开一个
  • 原文地址:https://www.cnblogs.com/riasky/p/3469124.html
Copyright © 2020-2023  润新知