android的Afinal框架下的数据库更新

项目需要,版本升级时给表添加了一些新的字段,发现出现异常。

解决方法:监听数据库的版本号,更新数据库。

创建FinalDb对象时使用如下的构造函数,监听版本号的变化:

db = FinalDb.create(getActivity(), "chat.db", true, 3, dbUpdateListener);

然后重写DbUpdateListener,

DbUpdateListener dbUpdateListener = new FinalDb.DbUpdateListener() {
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (tabbleIsExist(db, "chat_messages")) {
db.execSQL(VERSION_3_SQL_ADD_COLUMN_HAS_PRAISED);
} if (tabbleIsExist(db, "chat_conversations")) {
db.execSQL(VERSION_3_SQL_ADD_COLUMN_ACCESSTOKEN);
db.execSQL(VERSION_3_SQL_ADD_COLUMN_ISLOGIN);
}
}
};

在onUpgrade()方法里面可以自定义操作,一般是执行添加表字段的操作。

private String VERSION_3_SQL_ADD_COLUMN_HAS_PRAISED = "alter table chat_messages add column has_appraised varchar(50)";
上一篇:使用百度网盘实现自动备份VPS


下一篇:数论杂谈——欧几里得算法及扩展欧几里得