SQLiteOpenHelperを作る
最終更新日:2015-07-07
ContentProviderは「インターフェース」なので、実際にinsertやqueryの要求がきたときの処理は別途実装する必要があります。
APIの性質上、SQLiteDatabaseを用いて実装するのが楽なので、ここではSQLiteDatabaseを使った実装を紹介していきます。
まずはSQLiteOpenHelperを継承したクラスを作ります。ContentProviderの説明というよりは単なるSQLiteDatabaseの使い方の紹介になります。
ここまでの実装はここにあります。
class TodoDB extends SQLiteOpenHelper {
private static final String DB_NAME = "todo.db";
private static final int DB_VERSION = 1;
public TodoDB(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// execute create table statement
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
コンストラクタでデータベースのファイル名とバージョンを指定します。onCreate()でデータベースファイルの初期化を行いますが、それは次回で。