Photo by Markus Spiske on Unsplash
はじめに
Androidアプリの開発でSQLiteのデータベースを使用していると、データベースの中身を確認したいことがあります。この記事では、Androidアプリ内に保管されているSQLiteのデータベースを取り出して中身を確認するまでの手順をメモします。なお、この記事ではGUIベースでの方法についてまとめますが、adb
コマンドを使用した方法については以下に別途まとめました。
adbコマンドでAndroid端末とパソコン間でファイルをコピーする
Android端末向けのアプリ開発をしている際にAndroid端末内にあるファイルをパソコンに移したり逆にパソコン内のファイルをAndroid端末に移動したりしたいことがあり、その際にadb(Android Debug Bridge)コマンドを使用したのでその使い方を簡単にまとめておきます。
できるようになること
以下のように、DB Browser for SQLiteというアプリを使用して、作成したAndroidアプリ内に保管されているデータベースの中身を確認できるようになります。
なお、以降はAndroid Studioを使用しますが、もし端末(ターミナル)からコマンドでデータベースファイルをコピーしたい場合は、以下にその手順をまとめましたので必要な方は見てみてください。
adbコマンドでAndroid端末とパソコン間でファイルをコピーする
Android端末向けのアプリ開発をしている際にAndroid端末内にあるファイルをパソコンに移したり逆にパソコン内のファイルをAndroid端末に移動したりしたいことがあり、その際にadb(Android Debug Bridge)コマンドを使用したのでその使い方を簡単にまとめておきます。
前提と環境
以下の通りです。この記事の内容は、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は以下になります。
The Official home of the DB Browser for SQLite
Downloads – 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」)すると中身を確認することができます。
なお、新しいデータベースの作成、テーブルの作成や削除、データの追加、更新などももちろん可能です。
まとめ
自分で作ったアプリが正しくデータベース内にデータを書き込めているか確認したい時や挙動がおかしい時に原因を調査したい時にとても便利です。
SPONSORED LINK