そごうソフトウェア研究所

SOA、開発プロセス、ITアーキテクチャなどについて書いています。Twitterやってます@rsogo

Androidアプリケーションからのデータベースの利用(概要)

AndroidからのDatabaseの利用を理解するには、ContentProvider、SQLiteDatabaseクラスSQLiteOpenHelperクラスが分かっていればとりあえずOKです。


JavaSQLになじみがあるエンジニアであれば、理解し易いと思います。


SQLiteOpenHelperは抽象クラスなので継承したクラスを作成して、以下のメソッドをオーバライドします。
public void onCreate(SQLiteDatabase db)
データベースファイルが無いときに呼び出されます。SQLiteDatabaseクラスとSQLを使って、テーブルを作成するなど、データベースを使うための準備をします。

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
SQLiteOpenHelperクラスのコンストラクタの引数に、バージョンがありますが、このバージョンが上がったときに呼ばれます。テーブルのカラム追加や、テーブルの追加など、データベースの仕様が変わったときに、、、

古い仕様のテーブルを削除してからonCreateメソッドを呼び出して、新しいテーブルを作成する
古い仕様のデータベースから、新しい仕様のデータベースにデータを移行する

というような処理をします。