Android SQLite データベースの中身を確認する方法

Android
スポンサーリンク

はじめに

Android開発でSQLiteを使用することがあるかと思います。

WEBでDB操作する時みたく、phpMyAdminのようなツールががあれば楽なのですが、なかなかピンとくるツールに巡り合えていません。

ちょうど個人的にSQLiteを使用するアプリを作ることになったので調査してみました。

手段

やり方はざっと調べる感じだと4つほどありました。

1) sqlite3コマンドで確認
端末にshellでアクセスしてDBファイルをコマンドで確認するやり方

2) Android Studioで確認
「Android Device Monitor」というツールがあり、これが王道なのかと思いきや、DBファイルまでアクセスできず・・・
結果、コマンドベースの確認でのやり方になりそう。

3) DB Browser for SQLite
PCにDBファイルを持ってきて「DB Browser for SQLite」で確認するやり方

4) スマートフォンアプリで確認
Playストアでsqliteと検索すると色々でてくるので自分に合ったアプリを探す


簡単操作のGUIベースでやりたいので3 or 4でしょうか。。
自分はPCでやりたいので、消去法になりますが、3のDB Browser for SQLiteで進めることとします。


そんなわけで今回は、「DB Browser for SQLite」の導入方法 ~ DB情報を確認するまでを残していきたいと思います。

DB Browser for SQLiteの導入

インストール

まず以下のページでダウンロードページにアクセスしましょう。

DB Browser for SQLite

PCに合わせて(64bit or 32bit)ダウンロードボタンをクリック

ダウンロードした実行ファイルを実行するとインストーラが立ち上がります。
「次へ」して「同意」しておきましょう。

インストール先は任意です。

スタートメニューの中にショートカットを作成する場合は新しく指定するか既存のフォルダを選択。
作成しない場合は「ショートカットを作成しない」にチェックをして下さい。

「DB Browser for SQLite」のインストールは以上となります。

DBファイルをスマホからPCへ移行

Android Debug Bridge(adb)の確認

Android Debug Bridge(adb)という開発ツールを使用して、スマホにアクセスして、DBファイルをPCへ移行します。

そのため、adbがPC側にインストールされていること + 実行できるように環境パスが通っていることが前提となります。

Android SDK Platform-Toolsがインストールしてあればadbは同梱されているはずです。
「C:\Users(ユーザー名)\AppData\Local\Android\Sdk\platform-tools」にadbが入っているか確認しましょう。
※おそらくほとんどのAndroid開発者は導入済だと思います。


なければSDKマネージャーで追加しましょう。

adbを入れたら(入ってたことを確認したら)環境パスを通しましょう。

コマンドプロンプト立ち上げて「adb」と打って以下のようにバージョンやコマンド一覧が表示されたらOKです。

adbはデバッグや端末のファイルにアクセスとかできる開発支援ツールです。
これを機に使い慣れてない方は導入してみましょう!

adbから端末にアクセス

スマホをUSBでPCに接続して、コマンドプロンプトを立ち上げましょう。
以下、スマホにあるDBファイルをPCに移行するまでのコマンドのフローになります。

#【DBファイルの確認】
# 端末にアクセス
C:\Users\hoge>adb shell
# 確認したいアプリのに権限付きでアクセス
# 自アプリのパッケージ名はAndroidManifestやgradleで確認できます
device:/ $ run-as アプリパッケージ名
# databasesに移動
device:/data/data/アプリパッケージ名 $ cd databases
# databases内のファイルを一覧確認
device:/data/data/アプリパッケージ名 $ ls -l
#ここで保存したDB名のファイル、もしくはDB名.dbがあればOK
HogeDB HogeDB.db


#【DBファイルを共有エリアにコピー】
# 権限付きアクセスから抜ける
device:/data/data/アプリパッケージ名 $ exit
# 共有エリア(ここでは/sdcard/Download直下にしたが任意)にDBファイルをコピー
device:/ $ run-as アプリパッケージ名 cp databases/HogeDB.db /sdcard/Download/HogeDB.db


#【共有エリアからPCにDBファイルをコピー】
# 端末にアクセスから抜ける
device:/ $ exit
# PCの任意の場所にコピー(ここではデスクトップへ)
C:\Users\hoge> adb pull /sdcard/Download/HogeDB.db C:\Users\hoge\Desktop

補足として、いちいちコマンド入力するのが億劫だったらシェルでバッチ化してしまいましょう。
こうすると、ワンクリックで上記のコマンド作業が実行できるようになり楽です!
(ちなみにwindowsでシェル実行するにはCygwinとかツール使わないといけないっぽいです。)

確認

DB Browser for SQLiteを開きましょう。

ヘッダの「File」=>「Open Database」でdbファイルを選択します。
※dbに拡張子がない場合があります。その場合一覧に表示されません。

その場合、dbファイルをドラッグドロップでDB Browser for SQLiteのアイコンまで持ってきて、DB Browser for SQLiteを起動すれば開けます。
もしくは、dbファイルをファイル名編集で拡張子「.db」としてしまいましょう。

以下のように開けたら成功!

以外に共通した手法って定着してないってことと、もっと楽な方法ないのかなってのが感想ですね。


以上になります。

タイトルとURLをコピーしました