我使用SQLiteAssetHelper
将现成的数据库导入我的应用。
现在我想发布我的数据库的第二个版本,但是当用户更新应用程序时,数据库没有更新。我看到文档,看到我必须使用setForcedUpgrade()
,但我不知道在哪里使用它,如果你指导我,我会很感激。 :)
MyDatabase.java:
public class MyDatabase extends SQLiteAssetHelper {
private static final String DATABASE_NAME = "database.db";
private static final int DATABASE_VERSION = 2;
public MyDatabase(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}}
我用这些阅读数据库:
MyDatabase my;
SQLiteDatabase sq;
my = new MyDatabase(getApplicationContext());
sq = my.getWritableDatabase();
谢谢你。
答案 0 :(得分:3)
对于你的例子:
public class MyDatabase extends SQLiteAssetHelper {
private static final String DATABASE_NAME = "database.db";
private static final int DATABASE_VERSION = 2;
public MyDatabase(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
//FORCE UPGRADE BY DELETING OLD DATABASE
setForcedUpgrade(DATABASE_VERSION);
}}
答案 1 :(得分:0)
在Android中,您应该使用SQLiteOpenHelper(http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html)。继承您自己的类并覆盖onCreate
和onUpgrade
。