[Android]エミュレーターでDBに保存したデータを見たいとき


Androidアプリを開発していてDBに保存する処理を書きました。
エミュレーターを動かしてデータをDBに保存する処理を行なったが、本当に保存されているのかわからない!
そんなときにDBを直接みてデータが保存されているか確認する方法を調べました。
調べているとやり方はいろいろあるようなのですが、ターミナルでできるというadbを使う方法についてまとめます。

adbのインストールは済んでいる前提で進めます。
adbはAndroid SDKをダウンロードしていれば使えるようです。(パス設定などは必要)

ターミナルからDBにアクセスしよう!

以下のコマンドを入力します。

# adb shell
# cd data/data/<package name>/databases

このディレクトリでlsをするとお目当てのDBが見つかるかと思います。
それではDBの中に入って実際にデータが格納されているか確認しましょう。

# sqlite3 <見たいDB名>

上のコマンドでDBに入ることができます。正しければおそらく以下のように表示されます。

# sqlite3 <見たいDB名>
SQLite version 3.7.4
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>

これでDBの中にはいることができたので、欲しいデータを確認しましょう。

テーブルの一覧を取得するコマンド

sqlite>.tables

あるテーブルのデータを取得する

sqlite> select * from <table name> ;

こんな感じで好きにDBを操作することができると思います。