Android 利用xUtils框架实现对sqllite的增删改查

时间:2021-11-09 16:17:25

首先下载xUtils,下载地址:https://github.com/wyouflf/xUtils  把下载好的文件压缩,把里面的jar包拷进项目中如图所示:

Android 利用xUtils框架实现对sqllite的增删改查

这里新建一个User类进行测试增删改查

package com.example.xutilsdemo;

public class User {
private int id;
private String name;
private String email;
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 getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public User(String name, String email) {
this.name = name;
this.email = email;
}
public User(){ }
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", email=" + email + "]";
} }

核心代码:

package com.example.xutilsdemo;

import java.util.List;

import com.lidroid.xutils.DbUtils;
import com.lidroid.xutils.db.sqlite.Selector;
import com.lidroid.xutils.db.sqlite.WhereBuilder;
import com.lidroid.xutils.exception.DbException; import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Toast; public class MainActivity extends Activity { //直接使用Dbutils,如果不能使用这个类,说明包没有导入成功
DbUtils db ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//创建数据库,名称为mydb
db= DbUtils.create(this,"mydb");
} //保存数据事件
public void saveClick(View v){
DbUtils db = DbUtils.create(this,"mydb");
User user = new User("hyy","272958293@qq.com"); //这里需要注意的是User对象必须有id属性,或者有通过@ID注解的属性
try {
db.save(user);
Toast.makeText(this, "ok",Toast.LENGTH_SHORT).show();
} catch (DbException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} // 使用saveBindingId保存实体时会为实体的id赋值
} //查询数据事件
public void queryClick(View v){
try {
List<User> list=db.findAll(User.class);
for (User user : list) {
System.out.println(user);
}
} catch (DbException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
} //根据条件查询事件
public void queryByClick(View v){
try {
User user=db.findFirst(Selector.from(User.class).where("name","=","hyy"));
Toast.makeText(this,user.toString(), Toast.LENGTH_SHORT).show();
} catch (DbException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
} //更新数据事件
public void updateClick(View v){
User user=new User();
user.setId();
user.setName("huyuan");
user.setEmail("272958293@qq.com"); try {
db.update(user,"name","email");
} catch (DbException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
//删除事件
public void deleteClick(View v){
try {
db.delete(User.class,WhereBuilder.b("id", "=", ""));
} catch (DbException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}