Aqlier/ 5月 8, 2019/ Android

Android 開発で、アプリ内にsqlite3のDBを使用することが多々あります。テストで変更した値が反映されないで、元のままと言うことがありました。

Android開発で、DatabaseHelperのサンプルコードを使用している場合、処理概要をあまり意識せず使用していたことが原因と言えます。このDatabaseHelperで、既にDBが存在していたらコピーしない(上書きしない)仕様になっていました。

この状態を解決するには、
1.Android端末で、旧アプリを一旦削除して、新たにインストールする。
 テストで何度もDB変更が発生するとき、この方法を使用することが必要となります。

2.アプリ内でDBの名前を変更する。DatabaseHelperで参照する箇所を変更する必要がありますが、確実な方法と言えます。DB変更において、アプリ利用者の影響を見せない方法と言えますが、Android内に旧DBがゴミとして残ってしまうデメリットもあります。

関連記事:AndroidのDB格納フォルダ