我正在创建一个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;
}
任何帮助都会很棒,谢谢。