今天来一波LitePal数据库的使用操作
LitePal数据库的githup地址:
https://github.com/LitePalFramework/LitePal
直接开始步骤了
1、添加依赖
implementation 'org.litepal.android:core:2.0.0'
2、在assets创建litepal.xml文件管理数据库
如图
为了方便,贴个代码粘贴
<?xml version="1.0" encoding="utf-8"?>
<litepal>
<!--数据库名称-->
<dbname value="demo" />
<!--数据库版本号-->
<version value="1" />
<!--表-->
<list>
<mapping class="com.weidu.testlitepal.Person" />
</list>
</litepal>
3、初始化数据库
LitePal.initialize(this);
4、以上就基本完成了配置操作,切记一定要用应用程序的上下文初始化,不要在一些服务或者活动的上下文,避免内存泄漏
开始增删改查的基本操作了
这里我就添加一个Person.java用来测试
public class Person extends LitePalSupport {
private int id;
private String name;
private String sex;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", sex='" + sex + '\'' +
'}';
}
}
4.1、增:
private int id = 0;
public void insert(){
id++;
Person person = new Person();
person.setId(id);
person.setName("姚明");
person.setSex("男");
person.save();//这个一定不能漏了
}
看下结果吧(顺便也把查的功能也贴上来)
4.2、查
public void check(){
List<Person> all = LitePal.findAll(Person.class);//查询功能
for (int i = 0;i<all.size();i++){
Log.i("test_LitePal","数据库数为:id = " + all.get(i).getId() + ",name = " + all.get(i).getName() + ",sex = " + all.get(i).getSex());
}
}
显示增加的结果(我添加了三条数据,就id变化,其他的没有变,懒了点)
4.3、删
public void delete(){
LitePal.delete(Person.class,1);//删除id为1的数据,其他的删除条件看各位网友自己需求了
}
删除结果:
4.4、改
public void update(){
ContentValues values = new ContentValues();
values.put("name", "这是修改操作");//修改字段name的内容
LitePal.updateAll(Person.class, values);
}
修改结果:
5、以上就是增删改查了,现在来添加字段,在greendao中,修改字段是一件很麻烦的事情,但是使用LitePal就比较方便了,来看操作
现在我添加了字段age后,不升级数据库版本,结果age虽然set进去的是18,但是新添数据是失败的,之前的数据会添加这个age字段
升级数据库版本后再添加操作
添加数据成功
好了,以上就是基本操作,更详细的以后再研究,希望能帮助到各位
最后献上我的代码