1

Android の事​​前に入力されたデータベースに問題があります。しかし、通常の問題ではありません。データベースは問題なく動作しています。

私の問題は、アプリが公開された後に新しいデータを追加することです。

私は onupgrade メソッドに多くの時間を費やしましたが、私の問題は別の場所にあることに気付きました。アセット フォルダー内のデータベースに新しい行を追加したら、data/data フォルダーにコピーされたデータベースにこれらを追加するにはどうすればよいですか.....

私のデータベースは、ゲームのレベル情報を保存する場所です。表の最後の列は、レベルを完了したことを示すフラグであるため、この情報を失うことはありません。

4

1 に答える 1

1

いくつかの SQL パッチ ファイルを追加し、それらを読み取ってデータベースをアップグレードできます。

SO に関する Danny Remington の投稿からコピーした FileHelper 静的クラスで単純に使用し、次のようにします。

try {
    InputStream in = mgr.open(assetFile);
    String[] statements = FileHelper.parseSqlFile(in);
    dao.mDb.execSQL("BEGIN TRANSACTION;");
    /*dao.mDb is a reference to the SQLiteDatabase from my dao*/
    for (String statement : statements) {
        dao.mDb.execSQL(statement);
    }
    dao.mDb.execSQL("COMMIT;");
    in.close();
} catch (IOException e) {
    //
}
于 2015-10-25T23:39:25.067 に答える