【Androidアプリ作成】SQLiteを使うには?(前編)

大量のデータを使う際には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

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA

*