私は2つのデータベースを持っています。1はMySQLで、ゲームAPIを使用してゲームに関する最新情報を収集します。私が持っているもう1つのデータベースは、アプリで作成したsqlite DBです(どちらも同じテーブルと列を持っています)。これをどのように機能させたいかというと、アプリが起動し、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()
か?