我制作了一个使用sqlite数据库的应用程序,并且DbHelper类中的数据库版本为1。此外,在build.gradle中,应用程序版本为1。假设我发布了该应用程序,现在我想用该应用程序的版本2更新该应用程序。首先,我是否也应该增加数据库版本?即使数据库结构未更改,它是否也是强制性的?如果这是强制性的,那很好。我已经对数据库升级进行了一些搜索,并将从那里获得帮助。但是,如果不是强制性的,那么我可以将onUpgrade()
方法留空吗?
要清楚;
版本代码1(build.gradle)
private static final int DATABASE_VERSION = 1
...
@override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
//empty
}
版本代码2(build.gradle)
private static final int DATABASE_VERSION = 1; //if this is fine
...
@override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
//what should I do here?
}
答案 0 :(得分:1)
即使未更改数据库结构,这是否也是强制性的?
不。仅在更改架构(例如,添加列,添加表,删除表)时增加数据库架构的版本。
但是如果不是强制性的,那么我可以将onUpgrade()方法留空吗?
是的,尽管您可能考虑在调试版本中抛出IllegalStateException
:
if (BuildConfig.IS_DEBUG) {
throw new IllegalStateException("Not yet implemented");
}
这样,在开发和测试中,如果您增加模式版本,就不会忘记onUpgrade()
。