LitePal 1.5.0版本新增功能
来源:互联网 发布:礼品 知乎 编辑:程序博客网 时间:2024/05/20 19:46
由于LitePal 1.5.0版本兼容低版本,并且之前写过LitePal 1.4.1版本的介绍,这里只介绍1.5.0版本的性功能。如果对于LitePal不熟悉可以查看大神 郭霖 的博客,也可以查看我写的 LitePal的学习和使用
在使用Litepal 1.5.0版本之前请将依赖更新到:
compile 'org.litepal.android:core:1.5.0'
好了闲话少说直接进入主题:
LitePal 1.5.0版本新增的两大核心功能:1.异步操作数据库、2.不存在就存储,已存在就更新
1、异步操作数据库:
在1.5.0版本之前LitePal操作数据库的时候都是发生在主线程中的,而1.5.0版本考虑到在开发过程中可能会出现对大量的数据进行操作的情况,提供了异步操作数据库的API,我们只需要调用对应的方法就会自动开启子线程对数据库进行一系列的增删改查
1.1、异步操作数据库的方法
由于异步操作的内部会开启线程,因此这类方法都是无法返回值的,那么异步操作的结果就只能依靠回调来完成。所以LitePal 1.5.0版本在每一个异步方法的后面添加了一个listen()方法
1.1.1、saveAsync() - 异步保存
news.saveAsync().listen(new SaveCallback() { @Override public void onFinish(boolean success) { if (success) { Toast.makeText(context, "保存成功", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(context, "保存失败", Toast.LENGTH_SHORT).show(); } }});
1.1.2、findAsync() - 异步查询
DataSupport.where("id > ?", "1") .select("title", "content") .offset(1) .limit(2) .order("id desc") .findAsync(News.class).listen(new FindMultiCallback(){'//此为异步查询方法' @Override public <T> void onFinish(List<T> t) { Toast.makeText(context, "查询结束", Toast.LENGTH_SHORT).show(); } });
2.不存在就存储,已存在就更新
2.1、不存在就存储,已存在就更新的方法
2.1.1、saveOrUpdate()
News news = new News(); news.setId(1); news.setCommentCount(2); news.setContent("人长得漂亮?太搞笑了。。。"); news.setTitle("我是新闻,我姓沈"); news.setPublishDate(new Date()); news.saveOrUpdate("id = ?","1");
2.2、异步的不存在就存储,已存在就更新的方法
2.2.1、saveOrUpdateAsync()
News news = new News(); news.setId(1); news.setCommentCount(2); news.setContent("人长得漂亮?太搞笑了。。。"); news.setTitle("我是新闻,我姓沈"); news.setPublishDate(new Date()); news.saveOrUpdateAsync("id = ?","1").listen(new SaveCallback() { @Override public void onFinish(boolean success) { if (success) { Toast.makeText(context, "保存成功", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(context, "保存失败", Toast.LENGTH_SHORT).show(); } } });
2 0
- LitePal 1.5.0版本新增功能
- Android 各版本新增功能
- LitePal 1.6.0版本来袭,数据加解密功能保障你的应用数据安全
- LitePal 1.6.0版本来袭,数据加解密功能保障你的应用数据安全
- LitePal(版本1.5.0,写此博客时是最新版本)
- 麦客疯6.0版本新增功能
- Android各版本新增功能一览
- LitePal 1.5.0版本发布,你想要的都在这里
- HiWork发布1.6.0版本——调整UI布局,新增消息搜索等多项功能
- IE7.0浏览器新增功能
- Android SDK2.0 新增功能
- cocos2d2.0新增功能说明
- PHP7.0新增功能详解
- 新增“禁用词禁止推送”功能的版本>已经发布
- 方正快速开发平台ES2007(3.5版本)新增功能特点
- .net framework各个版本区别和新增功能
- Firefox未来版本将新增嵌入式视频聊天功能
- Android 各版本简称以及新增功能介绍
- 0308
- 安卓开发规范
- 代码块的学习
- Maven依赖范围及依赖传递
- springBoot PUT请求接收不了参数的解决办法
- LitePal 1.5.0版本新增功能
- caffe学习(2)------caffe训练日志
- jsp9个内置对象3大指令7个基本动作
- 利用sox 做通道转换
- 图像特征检测描述(一):SIFT、SURF、ORB、HOG、LBP特征的原理概述及OpenCV代码实现
- mongo ERROR: child process failed, exited with error number 100
- 使用scrapy的mail模块发送邮件
- [root@yqiangoracle ~]# ssh localhost The authenticity of host 'localhost (127.0.0.1)' can't be estan
- (转)详解HttpURLConnection