3
2

More than 1 year has passed since last update.

【Flutter】AndroidでSQLiteのテーブルのデータを確認する

Last updated at Posted at 2022-07-26

Flutterを使って個人で以下のスマホ向けのおみくじアプリ(大御心アプリ)を開発・運用しています。

Screenshot_home.png Screenshot_fortune_1.png Screenshot_fortune_2.png Screenshot_emperor_list.png Screenshot_emperor_detail.png

[iOS]
https://apps.apple.com/us/app/%E5%A4%A7%E5%BE%A1%E5%BF%83%E3%82%A2%E3%83%97%E3%83%AA/id1627544916

[Android]
https://play.google.com/store/apps/details?id=jp.sikisimanomiti.oomigokoro

上記おみくじアプリはSQLiteを使ってローカルにAPIからの一部のデータを保持しているのですが、アプリを開発・デバッグする過程でSQLiteのテーブルのデータをGUIで確認したくなったので確認方法を調べました。

AndroidでSQLiteのデータを確認する方法

  • ①Android StudioのDatabase Inspectorを使って確認する
  • ②ADBコマンドを使う

①Android StudioのDatabase Inspectorを使って確認する

1 エミュレータでアプリを実行します。
2 メニューバーで「View」 > 「Tool Window」 > 「App Inspection」を選択します。
2.png

3 「App Inspection」が開いたら、実行中のアプリプロセスを選択します。
スクリーンショット 2022-07-25 22.30.50.png

4 「Database Inspector」タブを選択します。
スクリーンショット 2022-07-25 22.34.33.png

5 「Database」ペインに接続したアプリのデータベースを表示します。確認したいテーブルをクリックすると、実際に格納しているデータを閲覧できます。セルをダブルクリックすると、編集でき反映することができます。
スクリーンショット 2022-07-25 22.35.22.png

参考

Database Inspector を使用してデータベースをデバッグする

②ADBコマンドを使う

DB Browser for SQLiteで直接AndroidのSQLiteファイルを参照することはできませんが、ADBコマンドを使うことでAndroidのSQLiteファイルを実機やエミュレータからローカルにコピーすることができます。ローカルにコピーして、DB Browser for SQLiteで開きたいと思います。

SQLiteファイルは端末内の以下のディレクトリに/data/data/[パッケージ名]/files/にあったので、以下のコマンドでローカルにコピーします。

// ファイルへのアクセス権限を取得 & 参照可能なディレクトリにコピー & ローカルにコピー
$ adb shell 'run-as [パッケージ名] cat /data/data/[パッケージ名]/files/sample.db > /sdcard/sample.db' && adb pull /sdcard/sample.db ./sample.db

// DB Browser for SQLiteでローカルにコピーしたSQLiteを開く
$ open -a "DB Browser for SQLite.app" sample.db

感想

①の方法はGUIでデータを確認しつつ、変更・反映してアプリの動作をチェックすることもできたので、快適に開発できると思います。

参考

ADBとDB Browser for SQLiteでAndroid実機のDBを確認する on Ubuntu 15.04

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2