Androidアプリケーションからのデータベースの利用(概要)
AndroidからのDatabaseの利用を理解するには、ContentProvider、SQLiteDatabaseクラス、SQLiteOpenHelperクラスが分かっていればとりあえずOKです。
JavaやSQLになじみがあるエンジニアであれば、理解し易いと思います。
SQLiteOpenHelperは抽象クラスなので継承したクラスを作成して、以下のメソッドをオーバライドします。
public void onCreate(SQLiteDatabase db)
データベースファイルが無いときに呼び出されます。SQLiteDatabaseクラスとSQLを使って、テーブルを作成するなど、データベースを使うための準備をします。
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
SQLiteOpenHelperクラスのコンストラクタの引数に、バージョンがありますが、このバージョンが上がったときに呼ばれます。テーブルのカラム追加や、テーブルの追加など、データベースの仕様が変わったときに、、、
古い仕様のテーブルを削除してからonCreateメソッドを呼び出して、新しいテーブルを作成する
古い仕様のデータベースから、新しい仕様のデータベースにデータを移行する
というような処理をします。