SQLiteデータベースの参照方法

たまにしかやらなくて毎度忘れてるので手順メモ。

この記事は「Android Studio」でアプリを作成、且つ、エミュレータでアプリを起動しSQLiteのデータベースを作っていること。その作成したデータベースの生の値を確認したいことが前提です。
※当方のPC環境はWindows10です。

SQLiteデータベースにアクセスするための前準備

1)「Android Studio」で作成したアプリをエミュレータで立ち上げておきます。

2)Windowsのコマンドプロンプトを起動します。

3)コマンドプロンプトにてAndroid SDKインストール先にあるplatform-toolsに移動します。

例)cd \Android\sdk\platform-tools

フルパスが分かっている場合はフルパスを入力。分かっていない場合はコツコツcdで移動します。

ディレクトリの移動は「cd ディレクトリ名」
上の階層に戻るには「cd ..」
カレントのファイル一覧表示は「dir」

私の場合、Dディスクに任意のフォルダを作成してSDKをインストールしましたのでまずDディスクに移動します。(D:と入力)

Dディスクに切り替わったらインストールした場所へcdで移動します。

例)cd Tools\Android\AndroidSDK\platform-tools

adbシェル起動

platform-toolsへ移動したら下記コマンドを実行します。

adb.exe shell
※エミュレータが立ち上がっていない場合はここでerrorとなります。

成功すれば下記のような感じにコマンドプロンプトが変わります。
(環境によって見え方違うかも)

ここからカレントのファイル一覧表示は「ls」コマンドに変わります。
※上の画像はlsコマンドだけで「Permission denied」で怒られています。後述と一緒。

アプリのデータベース保存先へ移動

cd data/data/パッケージ名/databases
へ移動

「Permission denied」と怒られてファイルが見えない場合
※APK23(Android 6.0)では怒られなくてAPK 25(Android 7.1.1)以降では怒られます。

run-as パッケージ名
と入力すると見えるようになりdatabasesフォルダの手前まで自動で移動しますので

cd databases
へ移動。

上の画像例のアプリで作成したデータベースは下記名前としています。

パッケージ名: jp.test.trysqlite
データベース名: DB_TRY
テーブル名: SETUP

SQLiteを起動する

sqlite3 データベース名

で起動します。
SQLite起動中はほぼSQLコマンドとなります。

データベースのVersionを確認する: PRAGMA user_version;
テーブル一覧表示: .table
指定テーブルの内容確認: select * from テーブル名;
SQLite終了: .quit

テーブルの構成(CREATE TABLE)の内容を確認するには
.schema テーブル名
と入力すれば見ることができます。

終了

adbシェル終了: exit
コマンドプロンプト終了: exit

以上。