2011年11月18日金曜日

SQLiteからデータベースに接続

 DBを利用したアプリを作成している場合、SQLiteから直接データを確認したいときがあります。
データを確認するためには、コマンドプロンプトからAndroid SDK付属のadb.exe(Android Debug Bridge)でエミュレーターに接続してから、SQLiteを起動してデータベースに接続する必要があります。
以下にその手順をまとめてみました。

・PATHの設定
準備として、adb.exeが置かれているディレクトリのパスを通します。
adb.exeは、android-sdkフォルダ配下のplatform-toolsフォルダに置かれています。



そのディレクトリを[システムのプロパティ]-[環境変数]-[システム変数の編集]の変数値に追加します。


・コマンドプロンプトの文字コードをUTF-8に設定
SQLiteのデータはUTF-8なので、コマンドプロンプトの文字コードもUTF-8にします。
コマンドプロンプトの文字コードをUTF-8に設定しないと、日本語を含むデータは文字化けします。

 1.コマンドプロンプトを起動

 2.フォントの変更
  コマンドプロンプトのプロパティにて、[フォント]タブを選択し、MSゴシックのフォントを選択します。

 3.文字コードの変更

  >chcp 65001

  を実行します。

・adb.exeの起動してエミュレーターに接続

 >adb shell

 を実行します。

・カレントディレクトリの移動
データベースは「/data/data/(パッケージ名)/databases」ディレクトリに配置されていますので、カレントディレクトリをそこへ移動させます。

以下は、実行コマンドの例です。

 # pwd
 pwd
 /
 # cd /data/data
 cd /data/data
 # pwd
 pwd
 /data/data
 # ls
 ls
 com.blogspot.papakingyo-android.test
 com.example.android.livecubes
 com.example.android.softkeyboard

 -----

 # cd com.blogspot.papakingyo-android.test
 cd com.blogspot.papakingyo-android.test
 # pwd
 pwd
 /data/data/com.blogspot.papakingyo-android.test
 # ls
 ls
 databases
 lib
 # cd databases
 cd databases
 # pwd
 pwd
 /data/data/com.blogspot.papakingyo-android.test/databases
 # ls
 ls
 test.sqlite3
 #


・SQLiteを起動してデータベースに接続

以下は、実行コマンドの例です。

 # sqlite3 test.sqlite3
 sqlite3 test.sqlite3
 SQLite version 3.5.9
 Enter ".help" for instructions
 sqlite>

 sqlite> .tables
 .tables
 android_metadata name
 sqlite> .schema
 .schema
 CREATE TABLE name (kana text,kanji text);
 sqlite> .head ON
 .head ON
 sqlite> .mode column
 .mode column
 sqlite> select * from name;
 select * from name;
 kana kanji
 ------------ ----------
 さとう 佐藤
 すずき 鈴木
 たなか 田中
 sqlite>

 sqlite> .quit
 .quit
 #exit
 exit

 >

0 件のコメント:

コメントを投稿