AndroidにSQLiteで保存したデータを確認する

SQLiteで保存したデータは、Eclipseを使っている場合、DDMSパースペクティブのFile Explorerから確認できる。以下の場所。

  • data/data/com.hironemu.sample/databases/sample.db

これだとファイルがあるなってことしか分からないので、SQLiteのインターフェースから確認する。まず、android-sdk-linux_86(Android SDKのインストールディレクトリ)/toolsの直下にadbというコマンドがあるので、これでエミュレータに接続する。

$ ./adb shell
#

こんな感じでエミュレータに接続できたら、lsコマンド等で中身を確認するとdata/というディレクトリがある。そして前述したsample.dbのまでcdで移動する。

# cd data/data/com.hironemu.sample/databases
# ls
sample.db

あった。あとは、以下のコマンドでDBに接続

# sqlite3 sample.db
SQLite version 3.5.9
Enter ".help" for instructions

.helpと入力すると使えるコマンド一覧が出る。ここでSELECT文を発行することもできる。よく使うコマンドは、、

  • .tables
    • テーブルの一覧を表示する
  • .schema テーブル名
    • テーブルの定義を表示する
  • .headers ON(またはOFF)
    • SELECTしたときにヘッダを出すかどうか。デフォルトでは出てこないのでONにしとくといい
  • .separator 何か文字
    • カラムの区切りを好きなものに変える。デフォルトは"|". 例えば .separator \tとするとタブ区切りになる。

SQLiteにはなかなか手を出さなかったんだけど、HTML5のWeb SQL Database(これはペンディングになったらしいが)やAndroidで使われるようになってきてやるしかないかと思ったんだけど。。やってみると簡単なもんだね。小さいことはすばらしい。

ビジュアルな軽いツールが欲しいところだけど。まぁ、探せばあるかな。そういえば、ChromeとかSafariの管理ツールは結構いいんだけどな。ブラウザで管理していないところも見えるようにならないかな。こいつらの軽さは理想的。