我有一个数据库存储在我使用SQLite Manager构建的assets
文件夹中。现在,当我向数据库的任何表添加新记录时,我必须卸载并重新安装该应用程序。如果不卸载应用程序,我需要以正确的方式升级数据库?
注意:
我的onCreate()
和onUpgrade()
是空的,因为正如我所提到的,数据库已经构建完毕。
我在帮助器构造函数中调用super(context, DB_NAME, null, 1);
,但更改版本不会执行任何操作,因为onUpgrade()
为空。
答案 0 :(得分:1)
要允许升级,您必须实施onUpgrade
并执行将旧版本转换为新版本所需的任何操作。
如果您在assets
文件夹中有新数据库文件,则必须替换旧文件。
这对于SQLiteOpenHelper
是不可能的,因为它在调用onUpgrade
时有一个活动事务,但是当您实际上没有使用自动创建/版本控制机制时,没有理由使用SQLiteOpenHelper
首先。