試了下xutils3的數(shù)據(jù)庫操作曼氛,還是挺方便的衙解,簡單來說就是三個步驟:
一阳柔、建一個bean類,參考下面User.class
二蚓峦、初始化數(shù)據(jù)庫
三舌剂、調方法增刪查改
bean類济锄,User.class
package administrator.test;
import org.xutils.db.annotation.Column;
import org.xutils.db.annotation.Table;
@Table(name = "User")
public class User {
@Column(name = "id", isId = true)
private int id;
@Column(name = "name")
private String name;
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 User(String name) {
this.name = name;
}
//一定要構造一個無參方法
public User(){
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
然后就是使用例子
package administrator.test;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import org.xutils.DbManager;
import org.xutils.common.util.LogUtil;
import org.xutils.ex.DbException;
import org.xutils.x;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private DbManager db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initDb();
try {
add();
add();
find();
update();
find();
delete();
find();
} catch (DbException e) {
e.printStackTrace();
}
}
private void initDb() {
//本地數(shù)據(jù)的初始化
DbManager.DaoConfig daoConfig = new DbManager.DaoConfig()
.setDbName("xutils3_db") //設置數(shù)據(jù)庫名
.setDbVersion(1) //設置數(shù)據(jù)庫版本
.setDbOpenListener(new DbManager.DbOpenListener() {
@Override
public void onDbOpened(DbManager db) {
db.getDatabase().enableWriteAheadLogging();
//開啟WAL, 對寫入加速提升巨大(作者原話)
}
})
.setDbUpgradeListener(new DbManager.DbUpgradeListener() {
@Override
public void onUpgrade(DbManager db, int oldVersion, int newVersion) {
//數(shù)據(jù)庫升級操作
}
});
db = x.getDb(daoConfig);
}
private void add() throws DbException {
User user = new User("用戶1");
db.save(user);
LogUtil.i("---保存數(shù)據(jù)");
}
private void find() throws DbException {
List<User> list = db.findAll(User.class);
LogUtil.i("---" + list.toString());
}
private void update() throws DbException {
List<User> list = db.findAll(User.class);
User user = list.get(0);
user.setName("更換姓名");
db.update(user);
LogUtil.i("---更新數(shù)據(jù)");
}
private void delete() throws DbException {
List<User> list = db.findAll(User.class);
db.delete(list.get(0));
LogUtil.i("---刪除數(shù)據(jù)");
}
}