我有 2 个数据库。1 是一个 MySQL,我使用游戏 API 来收集有关游戏的最新信息。我拥有的另一个数据库是我在我的应用程序中创建的 sqlite 数据库(两者都有相同的表和列)。我希望它如何工作是,应用程序启动然后将检查 MySQL 版本(每当我玩的游戏有更新时更新)我检查 MySQL 版本是否与 sqlite 版本匹配并在需要时更新。
我遇到的困惑是我不希望用户在发生较小的 MySQL DB 更改时更新整个应用程序(更改项目统计信息、添加项目、添加角色或能力统计字符被调整)因为我在这里和 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)我可以直接调用 onUpgrade(db, oldVersion, newVersion) 并输入我想要的参数,还是这是一个非常糟糕的主意,应该通过它来处理getWritableDatabase()
?