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 classMainActivity extends Activity {//直接使用Dbutils,如果不能使用这个类,说明包没有导入成功
DbUtils db ;
@Overrideprotected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);//创建数据库,名称为mydb
db= DbUtils.create(this,"mydb");
}//保存数据事件
public voidsaveClick(View v){
DbUtils db= DbUtils.create(this,"mydb");
User user= new User("hyy",""); //这里需要注意的是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 voidqueryClick(View v){try{
List list=db.findAll(User.class);for(User user : list) {
System.out.println(user);
}
}catch(DbException e) {//TODO 自动生成的 catch 块
e.printStackTrace();
}
}//根据条件查询事件
public voidqueryByClick(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 voidupdateClick(View v){
User user=newUser();
user.setId(1);
user.setName("huyuan");
user.setEmail("");try{
db.update(user,"name","email");
}catch(DbException e) {//TODO 自动生成的 catch 块
e.printStackTrace();
}
}//删除事件
public voiddeleteClick(View v){try{
db.delete(User.class,WhereBuilder.b("id", "=", "1"));
}catch(DbException e) {//TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}