大量のデータを使う際にはSQLを使うのが便利。
WEBサービスではデータの定義や永続化にSQLを使うことが多いと思われるが、
Androidでも小規模ながらSQLを使うことができる。
■データの定義
データの定義はPCからできる。
今回はWindowsで行った。
sqlite自体はAndroidSDKに付属してる。
バージョンは 3.6.22 のようです。("sqlite3 -version"で確認できる)
その気になればコマンドラインからでも操作できますが、
今回はめんどくさいので管理ツールを使う。
■各種インストール
・Apache
http://httpd.apache.org/
2.0.63 入れた。
[httpd.conf]
LoadModule php5_module C:\php5\php5apache2.dll
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
PHPIniDir "C:/php5"
</IfModule>
・PHP
http://www.php.net/
5.3.1 入れた。
[php.ini]
必要なextentionは3つ
・php_mbstring.dll
・php_pdo_sqlite.dll
・php_sqlite3.dll
・SQLiteManager
http://www.sqlitemanager.org/
1.2.4 入れた。
ついでに日本語化。
■データ作成
・DBの作成
以下のコマンドで作れる
>sqlite3 test.sqlite
".quit"で抜けれる。
SQLiteManagerへの登録
SQLiteManagerのdocbaseと同じ階層に
DBファイルを置く。
ブラウザから名前、パスにDBファイル名を指定。
アップロードは非チェック。
私の環境ではなぜかアップロード出来なかった。
よくわからない。
・テーブルの作成
自由に CREATE TABLE すればいいと思う。
Android用に、別途
android_metadataなるテーブルが必要。
無いとアプリ起動時に例外が出る。
CREATE TABLE android_metadata ( locale text default 'en_US' );
・データの登録
自由に INSERT INTO すればいいと思う。
■データをプロジェクトディレクトリにコピー
SQLiteManagerのdocbaseからAndroidプロジェクトディレクトリに
DBファイルをコピーするバッチファイル作る。
コピー先は$PROJECT/assets以下とかで。
…とりあえず読み込む準備ができたので、
Androidから読み込む処理はまた今度。
2011.12.20
NECO