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

如何在Android中调用onUpgrade(),以便使用sqlite数据库,android,sql,database,Android,Sql,Database,我正在关注一些关于android中的数据库操作(sqlite)的文章,遇到了一个我找不到解决方案的问题 基本上,我希望每次运行应用程序时都重新创建数据库(用于测试)。如果您希望每次升级数据库,您可以尝试每次在onCreate中手动调用onUpgrade并添加布尔变量以避免无限递归调用。(这是调试代码,所以您应该用//todo注释或类似的东西来标记它,以提醒您。) 或者,创建一个名为destroyDB的方法,并将其添加到后面 DatabaseHandler database = new Datab

我正在关注一些关于android中的数据库操作(sqlite)的文章,遇到了一个我找不到解决方案的问题


基本上,我希望每次运行应用程序时都重新创建数据库(用于测试)。

如果您希望每次升级数据库,您可以尝试每次在
onCreate
中手动调用
onUpgrade
并添加布尔变量以避免无限递归调用。(这是调试代码,所以您应该用//todo注释或类似的东西来标记它,以提醒您。)

或者,创建一个名为
destroyDB
的方法,并将其添加到后面

DatabaseHandler database = new DatabaseHandler(this);
这与我上面所说的(调用onUpgrade)是一样的,但是您避免了无限递归调用,如果您在看到
destroyDB
时不记得这一点,您将检查此方法的功能


或者每次需要检查数据库时手动更改版本。

要重新创建数据库,请从设备上的“管理应用”卸载应用。但是要测试onupgrade代码,请在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,看看这个