android数据库升级

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);
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容