表不是在Android设备上创建,而是在虚拟设备上创建

时间:2020-04-13 10:06:46

标签: android database sqlite android-studio

所以我试图在android studio中创建一个数据库和一个表。当我使用Android手机时,数据库创建成功,但未创建表,但是当我从AVD使用虚拟设备时,数据库和表均已创建。

public class Databases extends SQLiteOpenHelper {

    public static  final String dbname = "AttendanceDb11";

    public Databases(@Nullable Context context) {
        super(context, dbname, null, 2);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String CREATE_TABLE = "CREATE TABLE Student12 ( _id INTEGER PRIMARY KEY AUTOINCREMENT, Name Text)";
        db.execSQL(CREATE_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 
    {
        db.execSQL("Drop table if exists Student12");
        onCreate(db);
    }
}

这是我的代码

1 个答案:

答案 0 :(得分:0)

在创建表之前,该应用程序似乎已经安装。我会执行以下操作之一:

1:卸载并重新安装该应用程序。

2:最好的方法是在onUpdate方法中删除并重新创建表,并在更改架构时增加数据库版本。