我有2个数据库。 1是一个MySQL,我使用游戏API收集有关游戏的最新信息。我拥有的另一个数据库是我在我的应用程序中创建的sqlite数据库(都具有相同的表和列)。我希望这样做的工作是,应用程序启动,然后MySQL版本将被检查(每当我玩的游戏有更新时更新)我检查是否MySQL版本匹配sqlite版本并在需要时更新。调用sqlite onUpgrade问题
我遇到的困惑是我不希望用户在发生次要MySQL数据库更改时不得不更新整个应用程序(项目统计信息被更改,项目被添加,字符被添加或统计数据一个角色的能力被调整了),因为我所看到的在这里和Vogella教程是,它似乎我需要真正的手动更改:
private static final int DATABASE_VERSION = 1; //<<<<<Manually change this
...
public MySQLiteHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
这违背了我想要完成的目的。
1)有没有办法更新,而不必实际手动更改代码的DATABASE_VERSION?
2)我可以直接打电话升级(db,oldVersion,newVersion),并把我想要的参数,或者这是一个非常坏的主意,它应该通过getWritableDatabase()
处理?
有[SQLiteDatabase#setVersion(int)](https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#setVersion%28int%29),但不应该联合使用用'SQLiteOpenHelper' – zapl 2013-03-25 20:01:45