libro
www.tuyano.com
Google androidプログラミング入門

データベースを使おう! (4/8)

作成:2009-12-28 11:18
更新:2010-05-11 13:54

■ヘルパークラスの定義

このソースコードを見ると、データベースアクセスのためには、大きく分けて3つのものが用意されていることがわかります。データを保存するメソッド、データを検索するメソッド、そして「ヘルパークラス」です。

まずは、ヘルパークラスから説明しましょう。ここでは、「SQLiteOpenHelper」というクラスを継承して「DatabaseHelper」というクラスが作成されていますね。これがヘルパークラスです。これは、以下のりすとにあげたような形で定義されます。

SQLiteOpenHelperでは、4つの引数を持つコンストラクタが用意されています。Context、データベース名、CursorFactory、データベースのバージョン番号といった値が渡されます。コンストラクタを定義する際には、この引数が4つあるスーパークラスのコンストラクタを呼び出す必要がある、という点に注意しましょう。

SQLiteOpenHelperにはいくつかのメソッドがありますが、一般的にはオブジェクトが生成される際の「onCreate」と、データベースの更新時に呼び出される「onUpgrade」は用意しておく必要があるでしょう。

いずれも「SQLiteDatabase」というクラスのインスタンスが引数に渡されていますね。これは、SQLiteにアクセスするための機能を提供するクラスです。データベースアクセスは、このSQLiteDatabaseにあるメソッドを呼び出して行います。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

※ヘルパークラスの基本形

private static class クラス名 extends SQLiteOpenHelper {


    コンストラクタ(…略…){
        super( context, データベース名, CursorFactory, バージョン );
    }
    
     @Override
     public void onCreate(SQLiteDatabase db) {
        ……初期化処理……
    }
    
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        ……更新処理……
    }
}
※関連コンテンツ

「Google androidプログラミング入門」に戻る