【Android】SQLiteの内容を確認する「Android Debug Database」の紹介

Androidアプリ開発では、データベースにSQLiteを使用していると思います。SQLiteに登録している内容の確認は、どのようにしているでしょうか。

よくある確認方法としては、以下に記載するような方法が考えられると思います。

  • 取得結果をログで出力する処理を実装する。
  • SQLiteのデータベースファイルをコピーして確認する。

これらの記載した方法は、ひと手間かかるため面倒だと感じてしまうことがあるかもしれません。

今回は、Androidアプリの起動後にWebブラウザを使用するだけで、SQLiteの内容を確認することができる「Android Debug Database」の設定方法と起動方法を紹介していきます。

スポンサーリンク

Android Debug Databaseとは

Androidアプリのデータベースと共有設定をデバッグするためのライブラリです。データベースの表示、編集、検索などを行うことができます。詳細については「公式サイト」を確認してみてください。

環境

紹介のために使用した環境を以下に記載します。

  • Android Studio:3.5.1
  • Gradle:5.4.1
  • Android Debug Database:1.0.6

設定方法

「build.gradle」に以下の設定を追加します。

dependencies {
  debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'
}

起動方法

「build.gradle」に設定を追加した状態で、Androidアプリを起動すると「Logcat」のDebugレベルに以下のような情報が出力されます。

D/DebugDB: Open http://XXX.XXX.X.XXX:8080 in your browser

出力されたURLをWebブラウザで表示すると以下のような画面が表示されます。

Android Debug Databaseの画面
Android Debug Databaseの画面
  • 「Databases」に、Androidアプリで使用するデータベースファイルの一覧が表示されます。
  • 「Tables」に、選択したデータベースファイルのテーブル一覧が表示されます。
  • 「Data」に、選択したテーブルに登録されている内容が表示されます。

起動時のポート番号を変更する方法

起動時のポート番号はデフォルトでは「8080」になります。ポート番号を変更するには、「build.gradle」に以下の設定値を追加することで変更することができます。

android {
  buildTypes {
    debug {
      resValue("string", "PORT_NUMBER", "8081")
    }
  }
}

表示できないときの対処方法

Android Studioを起動しているマシンのWebブラウザに、出力されたURLを入力しても表示できない場合は、以下に記載した方法を試してみてください。

Androidエミュレータの場合

Androidエミュレータを使用している場合は、「Android Debug Bridge(adb)」というツールを使用する必要があります。Androidアプリを起動してから、コマンドラインツールを使用して以下を実行してください。

adb forward tcp:8080 tcp:8080

実行後、ブラウザのURLに「http://localhost:8080」を入力してください。

【注意】
指定する「8080」はポート番号になります。ポート番号を変更して使用する場合は、こちらの値も変更するようにしてください。

実機の場合

実機を使用している場合は、Android Studioを起動しているマシンと実機が同じネットワークに所属している必要があります。ネットワークの設定を確認してみてください。

すべてだめな場合

記載した方法で表示できない場合は、使用しているAndroidエミュレータ、または、実機のWebブラウザにURLを入力して使用することもできます。

まとめ

Androidアプリ開発時のSQLiteの情報を確認する方法を紹介しました。