Android StudioからAndroidアプリ内にあるSQLiteデータベースの中身を確認する方法
はじめに
Androidアプリの開発でSQLiteのデータベースを使用していると、データベースの中身を確認したいことがあります。この記事では、Androidアプリ内に保管されているSQLiteのデータベースを取り出して中身を確認するまでの手順をメモします。なお、この記事ではGUIベースでの方法についてまとめますが、adb
コマンドを使用した方法については以下に別途まとめました。
Android端末向けのアプリ開発をしている際にAndroid端末内にあるファイルをパソコンに移したり逆にパソコン内のファイルをAndroid端末に移動したりしたいことがあり、その際にadb(Android Debug Bridge)コマンドを使用したのでその使い方を簡単にまとめておきます。
できるようになること
以下のように、DB Browser for SQLiteというアプリを使用して、作成したAndroidアプリ内に保管されているデータベースの中身を確認できるようになります。
前提と環境
以下の通りです。この記事の内容は、Ubuntu18.04で実施した流れになります。ただ、この記事でインストールするDB Browser for SQLiteというアプリケーションはWindows、Mac OS、Linuxのいずれでも使用可能です。
- OS:Ubuntu18.04
- Android Studio : ver3.4
DB Browser for SQLiteをインストールする
はじめに、SQLiteのデータベースを読み込むためにDB Browser for SQLiteというアプリケーションをインストールします。この記事ではUbuntu18.04にインストールしますが、前節でも述べたようにDB Browser for SQLiteは他のOSにもインストール可能です。DB Browser for SQLiteの公式サイトとダウンロード先URLは以下になります。 DB Browser for SQLite Downloads - DB Browser for SQLite
Ubuntuの場合は、以下のコマンドでインストール可能です。
$ sudo apt install sqlitebrowser
以上でインストールは完了です。
Android Studioから作成したアプリ内にあるSQLiteデータベースを取り出す
Android Studioを起動し、以下のようにメニューから「View」→「Tool Windows」→「Device File Explorer」をクリックします。
Device File Explorerを開くと、以下の赤線枠内のようにデバッグ用にパソコンに接続されているAndroid端末、もしくはエミュレータ内のディレクトリツリーが表示されます。
このディレクトリツリーの中から、「data」→「data」→「作成したアプリのドメイン名」と辿ってひらきます。「作成したアプリのドメイン名」は、プロジェクト作成時に指定したものです。以下の画像では、「com.example.hello_world」が該当します。
そして上記のように自分の作成したアプリのディレクトリの中に、拡張子が.db
で終わるファイルがあると思います。それがSQLiteのデータベースファイルになります。なお、Flutterで作成したアプリの場合は、以下のように「app_flutter」というディレクトリの中にデータベースファイルがありました。
このファイルを自身のパソコンに保存するために、以下のように右クリックして「Save As...」をクリックします。
以下のように保存先を選択するウィンドウが開くので、適当な場所を選択して保存します。
なお、もし.db
ファイルがあるディレクトリの中に、以下のように.db-shm
、.db-wal
もある場合は、これら2つも一緒に同じ場所に保存する必要があります。この.db-shm
、.db-wal
はSQLiteの一時ファイルでこれらにもデータが保存されています(参考:Temporary Files Used By SQLite)。.db
ファイルだけでは中身が空っぽである場合もあるので注意してください。
後はインストールしたDB Browser for SQLiteを使って保存したデータベースファイルを開きます。
DB Browser for SQLiteを使ってデータベースファイルを開く
保存した.db
ファイル上で右クリックし、メニューの名から「DB Browser for SQLiteで開く」もしくは「別のアプリケーションで開く」などからDB Browser for SQLiteを使って開きます。
DB Browser for SQLiteが起動したら、後は以下のように、「Browse Data」タブで自身のテーブルを選択(以下の画像内では「my_table」)すると中身を確認することができます。
なお、新しいデータベースの作成、テーブルの作成や削除、データの追加、更新などももちろん可能です。
まとめ
自分で作ったアプリが正しくデータベース内にデータを書き込めているか確認したい時や挙動がおかしい時に原因を調査したい時にとても便利です。
関連記事
- 公開日:2022/08/30 更新日:2022/08/30
FlutterアプリでAndroid StudioのGenerate Signed Bundle/APKが表示されない時の対処法
FlutterアプリをGoogle Play Storeに公開するためにAndroid Studioを使ってアップロード鍵を生成しようとしたところ、公式ドキュメントに書かれている「Build」→「Generate Signed Bundle/APK」というメニューが見つかりませんでした。この解決法をメモします。
- 公開日:2022/08/15 更新日:2022/08/15
webview_flutterを使ってFlutterアプリ内でWebページを開く
FlutterでURLをタップした時にアプリ内でそのURLのWebページを開く方法についてまとめます。この記事では、Flutter公式のプラグインであるwebview_flutterを使用した実装例をメモします。
- 公開日:2022/08/14 更新日:2022/08/14
FlutterでURLへのリンクを作成してアプリ外でWebページを開く
FlutterでURLをタップしたらブラウザが開いてそこでURL先を表示したい場合があります。この記事では、Flutter公式のプラグインを使用した実装例をメモします。
- 公開日:2019/12/23 更新日:2019/12/23
複数デバイス間でローカルのファイルを無制限に同期できるSyncthingをLinuxで使用する手順
Syncthingはローカルにあるファイルを複数のデバイス間で同期することができるオープンソースソフトウェアです。クラウド経由でファイルを同期するのではなく、ローカル同士で同期します。この記事ではUbuntuとAndroidでSyncthingを使用してファイルを同期するまでをまとめます。
- 公開日:2019/12/09 更新日:2019/12/09
Google Play Consoleに登録してデベロッパーアカウントを作成する手順
Android用にアプリをGoogle Play Storeで公開して配布するには、まずGoogle Play Consoleに登録してデベロッパーアカウントを作成する必要があります。この記事ではこの手順をまとめます。