android数据库升级

2018-04-08  本文已影响0人  hhws

SQLiteOpenHelper

每次调用getWriteDatbase或者getReadDatabse,都会走到getDatabaseLocked方法,

在其中会判断数据库的版本和当前的版本进行比较,从而回调

onCreate(db) 只会调用一次

onDowngrade(db, version, mNewVersion);

onUpgrade(db, version, mNewVersion);

version信息通过PRAGMA 保存
public int getVersion() {
return ((Long) DatabaseUtils.longForQuery(this, "PRAGMA user_version;", null)).intValue();
}

/**
 * Sets the database version.
 *
 * @param version the new database version
 */
public void setVersion(int version) {
    execSQL("PRAGMA user_version = " + version);
}
上一篇 下一篇

猜你喜欢

热点阅读