Я создаю приложение для Android, которое включает в себя создание базы данных Sqlite и открытие при повторном запуске приложения. Во время первого запуска приложения база данных открывается нормально.
Когда дело доходит до повторного запуска приложения и открытия базы данных, я не получаю такую ошибку таблицы, хотя таблицы были созданы при первом запуске приложения. Я также знаю, что база данных существует и открывается второй раз (выполняется метод onOpen (), а не onCreate ()).
Я взял таблицы создания, заполнения и т. Д. Из приведенного ниже кода. Мне было интересно, если я упускаю что-то очевидное?
Код, который я использую, взят из учебника, который я использовал много лет назад:
public class DatabaseCreate {
private final static String DATABASE_NAME = "DBname";
private final static int DATABASE_VERSION = 1;
private DatabaseHelper mDbHelper;
Cursor mCursor;
SQLiteDatabase myDB;
Context mCtx;
static SQLiteDatabase db_Read = null;
private static class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onOpen(SQLiteDatabase db) {
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
@Override
public void onCreate(SQLiteDatabase db) {
}
}
public DatabaseCreate (Context ctx) {
this.mCtx = ctx;
}
public DatabaseCreate open(){
mDbHelper = new DatabaseHelper(mCtx);
myDB = mDbHelper.getWritableDatabase();
return this;
}
Любая помощь была бы отличной, спасибо.