モケラ

Tech Sheets

mokelab

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()でデータベースファイルの初期化を行いますが、それは次回で。

一覧に戻る