在android studio中升级数据库不起作用
我正在尝试将sqlite版本号从1升级到2,但是没有调用onupgrade方法 我是否必须删除设备中的应用程序,然后安装应用程序来测试它 唯一被调用的方法是在android studio中升级数据库不起作用,android,sqlite,android-sqlite,Android,Sqlite,Android Sqlite,我正在尝试将sqlite版本号从1升级到2,但是没有调用onupgrade方法 我是否必须删除设备中的应用程序,然后安装应用程序来测试它 唯一被调用的方法是DatabaseHelper和onCreate 没有调用其他方法 在DatabaseHelper.java文件中 private static final int DBVersion = 1; // I had change this value to 2.but it is not working. public Datab
DatabaseHelper
和onCreate
没有调用其他方法
在DatabaseHelper.java文件中
private static final int DBVersion = 1; // I had change this value to 2.but it is not working.
public DatabaseHelper(Context context, CursorFactory cf) {
super(context, DBName, cf, DBVersion);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(TABLE_CREATE_Table);
}
@Override
public void onOpen(SQLiteDatabase db) {
super.onOpen(db);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int currentVersion) {
//This is not called.If it called i will add the changed here
}
dataprovider.java的另一个类
@Override
public boolean onCreate() {
dbHelper = new DatabaseHelper(getContext(), null);
return true;
}
使用:-
@Override
public boolean onCreate() {
dbHelper = new DatabaseHelper(getContext(), null);
SqliteDatabase db = dbHelper.getWritableDatabase(); //<<<<<<<<<<<
return true;
}
- 我倾向于将返回的SQLiteDatabase保存到类变量中,然后使用该变量,而不是在底层方法中使用
this.getWritableDatabase()
public DatabaseHelper(Context context, CursorFactory cf) {
super(context, DBName, cf, DBVersion);
this.getWritableDatabase();
}