SharedPreferences的工具类,调用setParam就能保存String, Integer, Boolean, Float, Long类型的参数 同样调用getParam就能获取相应的值

来源:互联网 发布:2016年流行网络歌曲 编辑:程序博客网 时间:2024/06/06 21:04

一、构造方法传入参数

public SharedPreferencesUtils(String FILE_NAME , Context context) {this.FILE_NAME = FILE_NAME;this.context=context;}
二、保存数据的方法,我们需要拿到保存数据的具体类型,然后根据类型调用不同的保存方法

public void setParam(String key, Object object) {String type = object.getClass().getSimpleName();SharedPreferences sp = context.getSharedPreferences(FILE_NAME,Context.MODE_MULTI_PROCESS);SharedPreferences.Editor editor = sp.edit();if ("String".equals(type)) {editor.putString(key,  object.toString());} else if ("Integer".equals(type)) {editor.putInt(key, (Integer) object);} else if ("Boolean".equals(type)) {editor.putBoolean(key, (Boolean) object);} else if ("Float".equals(type)) {editor.putFloat(key, (Float) object);} else if ("Long".equals(type)) {editor.putLong(key, (Long) object);}editor.commit();}
三、得到保存数据的方法,我们根据默认值得到保存的数据的具体类型,然后调用相对于的方法获取值,如果没有该数据类型,返回null值

public Object getParam(String key, Object defaultObject) {String type = defaultObject.getClass().getSimpleName();SharedPreferences sp = context.getSharedPreferences(FILE_NAME,Context.MODE_PRIVATE);if ("String".equals(type)) {return sp.getString(key, (String) defaultObject);} else if ("Integer".equals(type)) {return sp.getInt(key, (Integer) defaultObject);} else if ("Boolean".equals(type)) {return sp.getBoolean(key, (Boolean) defaultObject);} else if ("Float".equals(type)) {return sp.getFloat(key, (Float) defaultObject);} else if ("Long".equals(type)) {return sp.getLong(key, (Long) defaultObject);}return null;}

四、删除key对应的值,清除整个FILE_NAME文件

/** *  *删除key对应的值 * * @param key */public void remove( String key) {SharedPreferences sp = context.getSharedPreferences(FILE_NAME,Context.MODE_PRIVATE);SharedPreferences.Editor editor = sp.edit();editor.remove(key);editor.commit();}/** *  *清除整个FILE_NAME文件 * * @param FILE_NAME */public void clear() {SharedPreferences sp = context.getSharedPreferences(FILE_NAME,Context.MODE_PRIVATE);SharedPreferences.Editor editor = sp.edit();editor.clear();editor.commit();}






1 0
原创粉丝点击