まーなんせ、Androidで自立型の何かを作ろうと思ったらデータベースを使いたくなるんで、まずはSQLiteの使い方を調べてみました。
SQLiteの参考資料を探す上での注意
2008年8月中旬頃にリリースされたβ0.9とそれ以前(〜M5)で結構書き方が変わっている。サイト上のサンプルや書籍では以前の方方のものが多く、SDK 1.0ではそのままではコンパイルエラーとなってしまう。変更点はandroid情報まとめ @ ウィキ - Tips あたり参照のこと。
既存の資料と比較すると、データベースをオープンする時の方法が変わっているだけで、オープンした後は同じような使い方みたい。ここさえ押さえれば、あとはググって出てきた資料を追えば流れが解るかも。
読むべきドキュメント
android.database.sqlite.SQLiteOpenHelper
名前の通り、データベースオープンに絡む細々とした処理のヘルパークラス。
SQLiteはファイルベースのデータベースであり、MySQLみたいにサーバを持たないので、ロック制御などはアプリケーションで面倒を見なければならない。(じゃないと壊れる)
とはいえ、これは結構面倒なので、便利クラスを用意してくれたという感じみたい。
SQLiteOpenHelperのインスタンス生成に伴い、
- データベースのオープン
- データベースが存在しないなら、CREATE TABLE文などの任意SQLを実行可能
- データベースのバージョン(SQLiteのバージョンではなく、Railsのマイグレーションのバージョンのような感じ?)が違うなら、マイグレーション用の任意SQLを実行可能
これらも一気に処理してくれて、かつ更新処理ならgetWritableDatabase()を使ってデータベースファイルのロックもしてくれる。(たぶん)
android.database.sqlite.SQLiteQueryBuilder
さらっと眺めたら、サンプルソースで使い方をイメージしてみよう。
サンプルソース
・・・ってな記事を1ヶ月前に書きかけて、忘れていた(汗) かなり中途半端だけど、いいや、公開しよう。
勉強会 - 日本Androidの会(日本アンドロイドの会) にSQLiteの使い方に関するチュートリアルを書いたので、参考にすると良いかも。
0 件のコメント:
コメントを投稿