LitePal的使用
SQLite对于Android开发者都是必须要掌握的一项技能,但是使用SQLite,要写很多内容,创建表,对表的操作等等。下面介绍一个开源框架LitePal,能够快速的实现,对表的操作,地址:https://github.com/LitePalFramework/LitePal
步骤:
1.集成
implementation 'org.litepal.android:java:3.0.0'
2.在main目录下创建assets目录,创建litepal.xml文件
【LitePal的使用】3.配置AndroidManifest.xml
4.创建表
LitePal.getDatabase();
通过adb shell命令可以查看建表语句
文章图片
建表语句.png
5.修改表
如果想要在表book中添加一个字段des,还有想要添加一张表categroy的时候,只需要在Book的实体中添加字段des,创建实体categroy,然后修改litepal.xml文件即可
litepal.xml修改结果
通过adb shell查看数据库的变化
文章图片
数据库的变化.png
6.表里添加数据
Book book = new Book();
book.setName("Android开发");
book.setAuthor("涵涵");
book.setPages(555);
book.setPrice(18.88);
book.save();
文章图片
数据查询.png
7.更新数据
//更新方法1
Book upBook = LitePal.find(Book.class,1);
if (upBook!=null) {
upBook.setPrice(26.6);
upBook.setPages(500);
upBook.save();
}
文章图片
更新1.png
Book upBook2 = new Book();
upBook2.setPrice(29.9);
upBook2.update(1);
文章图片
更新2.png
8.删除数据
先增加3条数据
文章图片
数据源.png
LitePal.delete(Book.class,1);
文章图片
删除数据1.png
批量删除
LitePal.deleteAll(Book.class,"pages > ?","500");
文章图片
批量删除.png
9.查询
//根据id查询
Book book2 = LitePal.find(Book.class, 4);
//查询全部
List bookList = LitePal.findAll(Book.class);
for (Book book3 : bookList) {
Log.e("tag", book3.toString());
}//条件查询
List pages = LitePal.where("author like ? and pages > ?", "郭%","500").order("pages desc").find(Book.class);
//限制数量
List books = LitePal.limit(10).offset(10).find(Book.class);
查询数据和添加数据可能是一个大的耗时操作,可以异步操作
//多线程查询
LitePal.findAllAsync(Book.class).listen(new FindMultiCallback() {
@Override
public void onFinish(List list) {}
});
//耗时保存操作
book.saveAsync().listen(new SaveCallback() {
@Override
public void onFinish(boolean success) {}
});
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量