gpt4 book ai didi

android - 如何使 onUpgrade() 语句在第一次安装时运行?

转载 作者:行者123 更新时间:2023-11-29 20:52:50 28 4
gpt4 key购买 nike

在我的应用程序中,我有一个数据库,它是使用 DBHelper 类中的数据库查询创建的。我希望 onUpgrade 语句在安装 apk 时运行,因为用户可能会卸载并安装相同的应用程序。

在这种情况下,它成为设备上的第一个安装并且 onUpgrade 不会运行,这会导致应用程序崩溃。

如果新应用程序是在以前的应用程序上更新的,它会完美地工作。

我该如何重新爱这个??这种情况的解决方案是什么?

请帮忙!!提前致谢!!

这是我的 DbHelper.java

public class Dbhelper extends SQLiteOpenHelper {


public Dbhelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase database) {

database.execSQL(TABLE_CREATE_IMAGE);
database.execSQL(TABLE_CREATE_ATTEDANCE);
database.execSQL(TABLE_CREATE_STOCK);


}

@Override
public void onUpgrade(SQLiteDatabase database, int oldVersion,
int newVersion) {

Log.e("","upgrade ");

database.execSQL("ALTER TABLE stock ADD db_stock_id varchar(100)");//1.1
//

}

public void dropandcreate(SQLiteDatabase database)
{

database.execSQL("DROP TABLE IF EXISTS image");
database.execSQL("DROP TABLE IF EXISTS attendance");
database.execSQL("DROP TABLE IF EXISTS stock");

onCreate(database);
}
}

最佳答案

自己调用:

@Override
public void onCreate(SQLiteDatabase database) {

database.execSQL(TABLE_CREATE_IMAGE);
database.execSQL(TABLE_CREATE_ATTEDANCE);
database.execSQL(TABLE_CREATE_STOCK);

onUpgrade(database, VERSION);
}

关于android - 如何使 onUpgrade() 语句在第一次安装时运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28667672/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com