在开发的过程中,我们难免遇到一些问题,比如 数据库中表结构的改变。但是表又不可以直接的alter 修改字段, 添加字段和删除字段是可以的。
我们在开发的时候,当我们修改了 APP 表中的结构,但是之前发布的低版本,还没有修改,因此 一些用户在没有删除原有数据的情况下,直接安装了我们高版本的APP,应用会直接的崩溃掉。 这是因为 数据表中的数据缓存, 再插入数据的时候, 我们的表结构已经改变量了。但是 缓存没有修改,所以直接崩溃。
修改的原理:
Android 的数据库中 DataBaseVersion, 用来处理数据库的更新, 一般是不会调用
@Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { LogUtil.i("DB", "--start alterTabel"); updateTables(db); }
但是,当当前安装的APP的DataBaseVersion 高于 老版本的DataBaseVersion, 就会调用 onUpgrade() 方法。
所有我们 只需要修改 DataBaseVersion 的 值即可!
里面的处理方案: 比较简单 就是 删除缓存中的表, 之后再重新创建表。就可以了!
时间: 2024-12-16 22:05:56