今天超阴,因为昨晚下了一晚上的雨。
一周一度的周六一又到了,今天集团上班人数不足20人,其余的有的请假,有的在家偷懒,早上起来发现不能骑我的小坐骑了,只能徒步上班。拿上我大学买的雨伞就上路了,走到一半的时候不想走了,就等待公交车,等了大概4分钟左右,公交车终于来了。上车的时候,有个美女,那个妆叫浓啊,不仔细看,还以为电影里上演的白发魔女呢。坐了两站,终于到公司了。。
今天去公司,我带了装备,1,洗面奶 2,牛奶 3,雨伞
![](https://img.haomeiwen.com/i2073711/fd6005adf24102cb.jpg)
工作正式开始。。。。。。先保存,等我中午再写上午的事。
上午,想做登陆成功后改变别的页面的UI。在群里问了别人,有说SharedPreferences保存数据,又说,广播+接口,有说,有个不二之选是EventBus
中午,经理叫着出去吃了个饭,所有在一块聊了会,我算是个闷骚的吧,自己不多说,多听别人说,看着经理调戏妹子,我是面上不说,心里难受。---------咦。。
下午听着岳云鹏,郭德刚的相声,敲着代码,也是可以。发现我的项目中有BaseActivity,BaseFragmentActivity,BaseFragment,,,我就不知道我这广播咋用啊,所以改用sharedPreferences保存数据。发现了鸿洋的,封装SharedPreferences
附上代码吧,别光看我扯了。。。。
public class PrefUtils {
/**
* 保存在手机里面的文件名
*/
public static final String FILE_NAME = "share_data";
/**
* 保存数据的方法,我们需要拿到保存数据的具体类型,然后根据类型调用不同的保存方法
*
* @param context
* @param key
* @param object
*/
public static void put(Context context, String key, Object object) {
SharedPreferences sp = context.getSharedPreferences(FILE_NAME,
Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
if (object instanceof String) {
editor.putString(key, (String) object);
} else if (object instanceof Integer) {
editor.putInt(key, (Integer) object);
} else if (object instanceof Boolean) {
editor.putBoolean(key, (Boolean) object);
} else if (object instanceof Float) {
editor.putFloat(key, (Float) object);
} else if (object instanceof Long) {
editor.putLong(key, (Long) object);
} else {
editor.putString(key, object.toString());
}
SharedPreferencesCompat.apply(editor);
}
/**
* 得到保存数据的方法,我们根据默认值得到保存的数据的具体类型,然后调用相对于的方法获取值
*
* @param context
* @param key
* @param defaultObject
* @return
*/
public static Object get(Context context, String key, Object defaultObject) {
SharedPreferences sp = context.getSharedPreferences(FILE_NAME,
Context.MODE_PRIVATE);
if (defaultObject instanceof String) {
return sp.getString(key, (String) defaultObject);
} else if (defaultObject instanceof Integer) {
return sp.getInt(key, (Integer) defaultObject);
} else if (defaultObject instanceof Boolean) {
return sp.getBoolean(key, (Boolean) defaultObject);
} else if (defaultObject instanceof Float) {
return sp.getFloat(key, (Float) defaultObject);
} else if (defaultObject instanceof Long) {
return sp.getLong(key, (Long) defaultObject);
}
return null;
}
/**
* 移除某个key值已经对应的值
*
* @param context
* @param key
*/
public static void remove(Context context, String key) {
SharedPreferences sp = context.getSharedPreferences(FILE_NAME,
Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.remove(key);
SharedPreferencesCompat.apply(editor);
}
/** * 清除所有数据 * * @param context */public static void clear(Context context) {SharedPreferences sp = context.getSharedPreferences(FILE_NAME,Context.MODE_PRIVATE);SharedPreferences.Editor editor = sp.edit();editor.clear();SharedPreferencesCompat.apply(editor);}/** * 查询某个key是否已经存在 * * @param context * @param key * @return */public static boolean contains(Context context, String key) {SharedPreferences sp = context.getSharedPreferences(FILE_NAME,Context.MODE_PRIVATE);return sp.contains(key);}/** * 返回所有的键值对 * * @param context * @return */public static MapgetAll(Context context) {
SharedPreferences sp = context.getSharedPreferences(FILE_NAME,
Context.MODE_PRIVATE);
return sp.getAll();
}
/**
* 创建一个解决SharedPreferencesCompat.apply方法的一个兼容类
*
* @author zhy
*
*/
private static class SharedPreferencesCompat {
private static final Method sApplyMethod = findApplyMethod();
/**
* 反射查找apply的方法
*
* @return
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
private static Method findApplyMethod() {
try {
Class clz = SharedPreferences.Editor.class;
return clz.getMethod("apply");
} catch (NoSuchMethodException e) {
}
return null;
}
/**
* 如果找到则使用apply执行,否则使用commit
*
* @param editor
*/
public static void apply(SharedPreferences.Editor editor) {
try {
if (sApplyMethod != null) {
sApplyMethod.invoke(editor);
return;
}
} catch (IllegalArgumentException e) {
} catch (IllegalAccessException e) {
} catch (InvocationTargetException e) {
}
editor.commit();
}
}
}
就这吧,差不多6点了,其实才5点15,听着相声等着下班吧。。欲知下事如何,且听我下次乱扯。
网友评论