gpt4 book ai didi

android - 由于每次启动时创建数据库而导致应用程序崩溃

转载 作者:行者123 更新时间:2023-11-29 14:34:20 25 4
gpt4 key购买 nike

我有一个应用程序,我试图在其中创建一个数据库。在第一次运行时,应用程序工作正常。随后启动它崩溃的应用程序。该错误是因为应用程序正在尝试再次创建数据库。

所以我想知道如何仅在数据库或表不存在或应用程序首次运行时才创建它们。

最佳答案

您可以扩展类 SQLiteOpenHelper 来处理不同版本的数据库。这是一个例子:

public class MyDbOpenHelper extends **SQLiteOpenHelper** {
final static int VERSION = 2;

public MyDbOpenHelper(Context context, String dbname) {
super(context, dbname, null, VERSION);
}

@Override
public void **onCreate**(SQLiteDatabase db) {
/* TODO SQL-Queries for new Database */
}

@Override
public void **onUpgrade**(SQLiteDatabase db, int oldVersion, int newVersion) {
/* SQL-Queries t*/
if (oldVersion < 2) {
db.execSQL("ALTER TABLE my_table ADD COLUMN new_attrubte INTEGER");
}
}
}

数据库句柄是 onCreate 中新增的,如果存在,则调用 onUpgrade 并在 oldVersion 参数中使用现有版本号。

关于android - 由于每次启动时创建数据库而导致应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4524500/

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