[英]How to invoke onUpgrade() in Android, for work with sqlite database
我正在关注一些关于 android 中的数据库操作 (sqlite) 的文章,但遇到了一个我找不到解决方案的问题。
本质上,我希望每次运行应用程序时都重新创建数据库(测试目的)。
如果您想每次都升级数据库,您可以尝试每次在onCreate
手动调用onUpgrade
并添加一个布尔变量以避免无限递归调用。 (这是调试代码,所以你应该用 // todo 注释或类似的提醒你的东西来标记它。)
或者,创建一个名为destroyDB
的方法并将其添加到
DatabaseHandler database = new DatabaseHandler(this);
这和我上面说的一样(调用 onUpgrade)但是你避免了无限递归调用,如果你在看到destroyDB
时不记得这一点,你将检查这个方法的作用。
或者每次需要检查数据库时手动更改版本。
要重新创建数据库,请从设备上的管理应用程序卸载应用程序。 但是要测试升级代码,请将数据库版本的常量更改为 SQLiteOpenHelper 构造函数中更高的值。
//private static final int DATABASE_VERSION = 45;
//private static final int DATABASE_VERSION = 46;
private static final int DATABASE_VERSION = 47;
public RidesDatabaseHandler(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
this.context = context;
}
它会自动调用 onUpgrade 方法。 说到 onUpgrade 看看这个Adams 升级方法
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.