SQLiteOpenHelperクラス

android.database.sqliteSQLiteOpenHelperクラス

特徴

 状態:-  閲覧数:1,207  投稿日:2013-08-12  更新日:2013-08-12  
SQLiteOpenHelper
・抽象クラスなので、定義されているメソッドを(2つ)実装する必要がある。(+コンストラクタ)

onCreate
・データベースを作成したタイミングで呼び出される
・通常はここでテーブルを作成する

onUpgrade
・データベースをバージョンアップしたタイミングで呼び出される


導入メリット


このヘルパークラスを利用するメリット
・DBオープン時、もしテーブルが存在していないときはテーブル生成を行うことができる
・テーブルのバージョンアップが感知できる

コンストラクタ

 閲覧数:385 投稿日:2013-08-12 更新日:2013-08-12 

概要


・SQLiteOpenHelperクラスを継承後、 コンストラクタで親クラス(スーパークラス)に引数を渡す

第1引数
・Context型インスタンス
・自身のアプリを示す場合は、getApplicationContext()を使って生成

第2引数
・データベースファイル名
・データベースを作成するファイル名を指定
・nullを指定した場合は、メモリ上にDBが作成される
・名前を指定した場合は、「/data/data/<パッケージ名>/database/<ファイル名>」に作成される
※ファイル名であって、テーブル名ではない。ここでは、DBの場所のみ作成

第3引数
・CursorFactory型インスタンス
普通に使う分にはnull

第4引数
・DBバージョンを指定
・すでにリリース済みのDB構造を変更する場合はこのバージョンを変える

onCreateメソッド

 閲覧数:387 投稿日:2013-08-12 更新日:2013-08-12 

概要


・「指定データベースが存在しない状態」でデータベースをオープンしようとすると、このメソッドが自動的に呼ばれる
・その際、引数として「新規作成されたデータベースのインスタンス」が渡される
・このインスタンスのexecSQLを使ってテーブルの作成を行う
・なお、既にデータベースが存在しているときに、このインスタンスが生成されたとしても、実行はされない


コメント投稿(ログインが必要)