データベースを使おう! (4/8)
作成:2009-12-28 11:18
更新:2010-05-11 13:54
更新:2010-05-11 13:54
■ヘルパークラスの定義
このソースコードを見ると、データベースアクセスのためには、大きく分けて3つのものが用意されていることがわかります。データを保存するメソッド、データを検索するメソッド、そして「ヘルパークラス」です。
まずは、ヘルパークラスから説明しましょう。ここでは、「SQLiteOpenHelper」というクラスを継承して「DatabaseHelper」というクラスが作成されていますね。これがヘルパークラスです。これは、以下のりすとにあげたような形で定義されます。
SQLiteOpenHelperでは、4つの引数を持つコンストラクタが用意されています。Context、データベース名、CursorFactory、データベースのバージョン番号といった値が渡されます。コンストラクタを定義する際には、この引数が4つあるスーパークラスのコンストラクタを呼び出す必要がある、という点に注意しましょう。
SQLiteOpenHelperにはいくつかのメソッドがありますが、一般的にはオブジェクトが生成される際の「onCreate」と、データベースの更新時に呼び出される「onUpgrade」は用意しておく必要があるでしょう。
いずれも「SQLiteDatabase」というクラスのインスタンスが引数に渡されていますね。これは、SQLiteにアクセスするための機能を提供するクラスです。データベースアクセスは、このSQLiteDatabaseにあるメソッドを呼び出して行います。
まずは、ヘルパークラスから説明しましょう。ここでは、「SQLiteOpenHelper」というクラスを継承して「DatabaseHelper」というクラスが作成されていますね。これがヘルパークラスです。これは、以下のりすとにあげたような形で定義されます。
SQLiteOpenHelperでは、4つの引数を持つコンストラクタが用意されています。Context、データベース名、CursorFactory、データベースのバージョン番号といった値が渡されます。コンストラクタを定義する際には、この引数が4つあるスーパークラスのコンストラクタを呼び出す必要がある、という点に注意しましょう。
SQLiteOpenHelperにはいくつかのメソッドがありますが、一般的にはオブジェクトが生成される際の「onCreate」と、データベースの更新時に呼び出される「onUpgrade」は用意しておく必要があるでしょう。
いずれも「SQLiteDatabase」というクラスのインスタンスが引数に渡されていますね。これは、SQLiteにアクセスするための機能を提供するクラスです。データベースアクセスは、このSQLiteDatabaseにあるメソッドを呼び出して行います。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
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) { ……更新処理…… } }
※関連コンテンツ