Android必知必会--GreenDao缓存
2016-01-07 23:57
591 查看
Github版
CSDN版
本篇文章不是介绍GreenDao的配置和基础使用,记录一下GreenDao缓存的问题,帮助遇到同样问题的朋友找到原因和方法,下面是示例:
结果发现两次的
在示例代码中应该写在第二次查询前面
PS:这个清理缓存的方法,会清除所有表的缓存,目前没有发现可以清除单个表或者某个查询的缓存的方法。
ORM 框架之 greenDAO 使用心得
GreenDao
PS:
CSDN版
本篇文章不是介绍GreenDao的配置和基础使用,记录一下GreenDao缓存的问题,帮助遇到同样问题的朋友找到原因和方法,下面是示例:
场景重现
//第一次查询 List chats = daoSession.getChatSessionDao() .queryBuilder() .orderDesc(ChatSessionDao.Properties.Updatetime) .list(); //对数据库中的一条数据进行更新: ChatSession cs = chats.get(0); Log.d("body",cs.getBody()); cs.setBody(cs.getBody() + "new"); daoSession.getChatSessionDao().update(cs); //第二次查询 List chats = daoSession.getChatSessionDao() .queryBuilder() .orderDesc(ChatSessionDao.Properties.Updatetime) .list(); Log.d("body",chats.get(0).getBody());
结果发现两次的
body的值是一样的,使用工具查看Sqlite数据库,发现
body的值已经变化了,也就是说,我们第二次查询并没有真正执行,返回的是第一次查询的结果。如果要解决缓存问题,这里就要用到
DaoSession的一个方法:
DaoSession.clear();
在示例代码中应该写在第二次查询前面
daoSession.clear(); //第二次查询 ......
PS:这个清理缓存的方法,会清除所有表的缓存,目前没有发现可以清除单个表或者某个查询的缓存的方法。
GreenDao配置与使用
GreenDao详细的配置和Demo可以参考:ORM 框架之 greenDAO 使用心得
GreenDao
PS:
相关文章推荐
- android之旅25 内容提供者与内容观察者
- Android必知必会--GreenDao缓存
- 解决Android中单个dex文件中方法数越界的问题
- Android IPC机制之开启多进程模式
- 学习Android用到的资源(ing)
- Android打空的签名包
- Android Studio——handle是发出消息后就自动接收消息的吗?
- android 中style和Theme
- 深入理解Android消息处理系统——Looper、Handler、Thread
- 安卓android.os.Looper.java分析
- Android Tools update proxy
- Android Studio——Message
- Android 键盘遮盖界面布局问题
- Android Studio——private Handler mHandler = new Handler() {...}此处使用的什么语法,继承?重写?匿名类?
- android基础回顾笔记1--四大组件
- android设置圆角矩形
- Android Support library
- Android通过AIDL与远程服务通信
- Android View(一)-View坐标以及方法说明
- Android数据存储---SharedPreferences详解及应用