2017-04-09 12 views
1

OK、私のアプリケーションは完全なリリースの準備が整いました。私はリリースのために私のSQLiteデータベースを正しく準備したい。私の最初の開発プログラムは、onUpgrade(SQLite dbヘルパークラス)の次のコードを利用していました。私は自分のデータベースを更新するために、必要に応じてSQLiteデータベース、リリースするバージョン1のonUpgrade

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); 
    onCreate(db); 
} 

その後、私は、リビジョン番号を増やす列を追加するthisチュートリアルに続いて、すべてが非常によく働きました。たとえば、私のonUpgradeがこれに変更されました。

private static final String DATABASE_ALTER_ADD_VELOCITY = "ALTER TABLE walk_run_table ADD COLUMN VELOCITY_CALC REAL"; 

    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     if (oldVersion < 2) db.execSQL(DATABASE_ALTER_ADD_VELOCITY); 
     if (oldVersion < 3) db.execSQL(DATABASE_ALTER_ADD_ELEVATION); 
    } 

ここで、私はリリースを準備しています。バージョンを1に戻したいと思います(すべてのユーザーがもちろん新しくインストールされるため)。私のonUpgradeを "DROP TABLE EXOFTS IF ..."に戻すべきですか?そして先に説明したチュートリアルのように改訂を進めますか?これは私の開発にはうまくいきました。リリースにはうまくいくだろうと思っていますが、自分のプログラムをGoogle Playにアップロードするための確認が必要です。将来のリビジョンのためにSQLiteデータベースを準備する方が良いでしょうか?

答えて

1

使用している実際のバージョン番号は関係ありません。それは40億に上る可能性があります。 今後のアプリケーションのバージョンでは、とにかくデータベースのバージョンを増やす必要があります。今それを1に設定することで何も得られません。

リリースされたアプリでは古いデータベースに遭遇することはありませんので、古い開発版から更新するコードを削除することができます。 小さなバージョン番号に遭遇した場合は、誤って開発用マシンでそれを実行したか、データベースファイルが破損しているか、または誰かが偽のデータベースをアプリケーションのストレージにコピーしました。いずれの場合も、正しい応答はエラーを出力することです。

+0

私が正しく理解している場合は、コードを「開発済み」のままにしてリビジョン3としてリリースすることをお勧めします。 – seekingStillness

+0

はい。 (それは本当に問題ではありません。) –

関連する問題