安卓快速开发框架(十三)XBaseAndroid本地使用SQLi
2018-07-05 本文已影响70人
往后余生9375
创建实体
@DatabaseTable
public class Student {
@DatabaseField
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@DatabaseField
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
创建Dao
public class StudentDao {
private BaseDao<Student,Integer> studentDao;//数据库操作对象
public StudentDao(Context context){
studentDao = new BaseDaoImpl<>(context,Student.class);
}
public int add(Student s){
try {
return studentDao.save(s);
} catch (SQLException e) {
e.printStackTrace();
return 0;
}
}
}
初始化数据库信息
建议在Application或启动界面做好
DatabaseHelper.setDatabase("easy",2);//设置数据库版本及名称
DatabaseHelper.addTable(Student.class);//必须加载表。
演示
StudentDao sd = new StudentDao(context);
Student s = new Student();
s.setId(1);
s.setName("ggeegegerger");
int res = sd.add(s);
toast("添加学生结果是:" + res);
监听数据库版本
DatabaseHelper.getInstance(this).setDatabaseVersionChangeListener(new DatabaseVersionChangeListener() {
@Override
public void onChange(int oldVersion, int newVersion) {
toast("数据库版本发生变化:老版本:"+oldVersion +" 新版本:"+newVersion);
if(newVersion == 2){
try {
DatabaseHelper.getInstance(getContext()).getDao(Student.class).executeRaw("ALTER TABLE 'student' ADD COLUMN sex int");
toast("数据更新成功");
} catch (SQLException e) {
e.printStackTrace();
toast("数据更新失败");
}
}
}
});
toast("当前数据库版本:"+DatabaseHelper.getInstance(this).getVersion() +"数据库名:"+DatabaseHelper.getInstance(this).getDatabaseName());