给自己公司的项目写了两个功能 1.将对象 写入本地 缓存 2.去本地的缓存放到对象中
来源:互联网 发布:a1 24ga发热丝双发数据 编辑:程序博客网 时间:2024/06/05 15:03
废话不多说 直接上代码
//讲一个对象存储到本地缓存里面 public static void setObjectToSharedpreferences(Object oc,String name) { if (oc == null) return; if (oc instanceof Integer || oc instanceof String || oc instanceof Double || oc instanceof Float || oc instanceof Boolean) return; Field[] fields = oc.getClass().getDeclaredFields(); SharedPreferences settings = LYApplication.getInstance().getSharedPreferences(name, 0); SharedPreferences.Editor editor = settings.edit(); for (Field f : fields) { f.setAccessible(true); } if (fields.length == 0) return; //输出所有属性 for (int i = 0; i < fields.length; i++) { String field = fields[i].toString().substring(fields[i].toString().lastIndexOf(".") + 1); //取出属性名称 try { if (fields[i].get(oc) instanceof String) editor.putString(field, ((String) fields[i].get(oc))); else if (fields[i].get(oc) instanceof Integer) editor.putInt(field, ((Integer) fields[i].get(oc))); else if (fields[i].get(oc) instanceof Double) editor.putFloat(field, ((Float) fields[i].get(oc))); else if (fields[i].get(oc) instanceof Float) editor.putFloat(field, ((Float) fields[i].get(oc))); else if (fields[i].get(oc) instanceof Boolean) editor.putBoolean(field, ((Boolean) fields[i].get(oc))); else if (fields[i].get(oc) instanceof Long) editor.putLong(field, ((Long) fields[i].get(oc))); } catch (IllegalArgumentException e) { } catch (IllegalAccessException e) { } } editor.commit(); } //取本地缓存 写入到一个对象中 public static void getObjectToSharedpreferences(Object oc,String name) { if (oc == null) return ; if (oc instanceof Integer || oc instanceof String || oc instanceof Double || oc instanceof Float || oc instanceof Boolean) return ; Field[] fields = oc.getClass().getDeclaredFields(); SharedPreferences settings = LYApplication.getInstance().getSharedPreferences(name, 0); for (Field f : fields) { f.setAccessible(true); } if (fields.length == 0) return ; //输出所有属性 for (int i = 0; i < fields.length; i++) { String field = fields[i].toString().substring(fields[i].toString().lastIndexOf(".") + 1); //取出属性名称 try { if (fields[i].get(oc) instanceof String) { String s = settings.getString(field, ((String) fields[i].get(oc))); fields[i].set(oc, s); } else if (fields[i].get(oc) instanceof Integer) { int s = settings.getInt(field, ((Integer) fields[i].get(oc))); fields[i].set(oc, s); } else if (fields[i].get(oc) instanceof Double) { float s = settings.getFloat(field, ((Float) fields[i].get(oc))); fields[i].set(oc, s); } else if (fields[i].get(oc) instanceof Float) { float s = settings.getFloat(field, ((Float) fields[i].get(oc))); fields[i].set(oc, s); } else if (fields[i].get(oc) instanceof Boolean) { boolean s = settings.getBoolean(field, ((Boolean) fields[i].get(oc))); fields[i].set(oc, s); } else if (fields[i].get(oc) instanceof Long) { long s = settings.getLong(field, ((Long) fields[i].get(oc))); fields[i].set(oc, s); } } catch (IllegalArgumentException e) { return ; } catch (IllegalAccessException e) { return ; } } }
0 0
- 给自己公司的项目写了两个功能 1.将对象 写入本地 缓存 2.去本地的缓存放到对象中
- android实现对象写入XML,本地缓存
- java对象本地缓存机制的实现
- 本地缓存Json对象
- 自写的SQLite保存本地缓存
- 本地缓存的使用
- 本地缓存的机制
- IOS_UI_本地存储-复杂的对象写入本地
- swift写了一个本地缓存
- android向本地写入缓存
- 自己写的缓存
- xcache本地缓存的分析
- 小巧的本地缓存Jodd
- 一个本地缓存的链接
- ASI本地缓存的运用
- iOS 简单的本地缓存
- html5的离线本地缓存
- iOS简单的本地缓存
- XACML简介(二)
- 获取weibo公共数据
- Java_Java EE_轻量_CVS(WinCvs2_0_2-4.zip)使用闲谈;
- [转]PHP 5.2~5.6 对比以及功能详解
- iOS解析iPhone内省机制
- 给自己公司的项目写了两个功能 1.将对象 写入本地 缓存 2.去本地的缓存放到对象中
- NYOJ127 星际之门(一)(图论Cayley公式)
- ssential Diagram for Windows FormsC#/winForm类似visio的拓扑图节点连线控件免费下载
- NYOJ素数求和
- java菜鸟写博客
- 360安全卫士加速球误关闭某个应用软件
- cocos2d-x各种Size
- ios 常用第三方类库
- Android开发Eclipse快捷键