繁体   English   中英

如何在 Android 中调用 onUpgrade(),用于使用 sqlite 数据库

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM