学习《第一行代码android(第二版)》时遇到配置LitePal时android:name="org.litepal.LitePalApplication"报红的问题,现已解决,特此记录。
在该文件中添加下列代码,3.2.3是版本号。
dependencies {
implementation 'org.litepal.android:core:3.2.3'
...
}
首先新建assets文件夹,右击app/src/main目录→NEW→Folder→Assets Folder
直接点击finish
然后右击assets文件夹,新建文件,起名为litepal.xml
litepal.xml中的内容为
标签为所有映射模型(实体类)
Users.java实体类
public class Users extends LitePalSupport {
private int id;
private String userName;
private String userPhone;
public void setId(int id) {
this.id = id;
}
public int getId() {
return id;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserName() {
return userName;
}
public void setUserPhone(String userPhone) {
this.userPhone = userPhone;
}
public String getUserPhone() {
return userPhone;
}
}
在AndroidManifest.xml中添加下列代码
此时如果遇到报红的问题,建议改为直接导入jar包的方式(详细步骤看第四步,使用jar包的话,第一步添加的语句可以删除)
如果没有遇到问题则不需要配置第四步。
提前下载号litepal的jar包,可以点击下载litepal。
下载好之后将downloads目录下的litepal-x.x.x-src文件复制到app/libs目录下
红色框中是已经配置好的2.0.0版本,黄色框中是还未进行进一步配置的。
右击未配置的jar包,点击Add As Library
点击ok
配置好之后,build文件中会出现下列代码,同时AndroidManifset中的报红也消失了。
这样配置就完成了,就可以进行数据库的使用了。
Users user = new Users();
user.setId(1);
user.setUserName("小王");
user.setUserPhone("19912345678");
user.save();
保存一个对象使用save()方法,保存一组对象使用saveAll()方法。
Users user = new Users();
user.setUserName("小李");
user.update("id = ?", 1);
修改一条数据使用update()方法,修改全部数据使用updateAll()方法。
//第一个参数为表名,也可以写为Users.class
//第二个为受影响的行数
LitePal.delete("Users", rows);
LitePal.deleteAll("Users", "user_name = ?", "小李");//删除所有用户名为小李的数据
List users = LitePal.select("user_name", "user_phone")
.where("user_name = ? or user_phone = ?", account, account)
.find(Users.class);
查询一条数据使用find()方法,查询全部使用findAll()方法。
select为查询的列名,where为条件。