過去の投稿記事 new!
・【画像】漫画でわかる外国人参政権
・東京電力のHPで停電状態が確認できたり(サービス再開!)
・戦国時代 ~ 江戸時代の徳川家康が熱かった
・vaio のバッテリは寿命が短いような気がする
・話題の Western Digital 製 WD20EARS を購入した
・C01LC をビックカメラで買ってきた
・2025年には空中都市が現実化?!
・【動画】わかりやすい「宇宙ひも理論」
・今世紀には「富士山噴火」「東海連動地震」「首都圏直下型地震」か?
・滅びた町、南浜町が Googleストリートビューで見れる

【 amazon 送料無料キャンペーン 】

バックリンクはご自由にどうぞ!     http://mfsocket.blogspot.com/feeds/posts/default?alt=rss リンク集 / ログイン

2010/11/17
【Android】SQLite でのDBとテーブルの作成

 
Android の記憶領域は iアプリのスクラッチパッド MIDlet のレコードストアと
違って、完全なデータベースです。
 
 
そんな Android アプリで、
 
プログラム内で データベース&テーブル を作成する手順ついて。
android_logo2
現在のバージョンでは createDatabase() メソッドは存在しないので、
 
SQLiteOpenHelper クラスサブクラス化する必要がある。
 
もっとも単純なサブクラス例。
 

public class DatabaseHelper extends SQLiteOpenHelper{

 
    DatabaseHelper( Context context ){
        super( context, DATABASE_NAME, null, DATABASE_VERSION );
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String query = "CREATE TABLE … ";
        db.execSQL(query);

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){ 
    }

}

 
呼び出し側の Activity で、new DatabaseHelper(this); とインスタンスを生成
するだけでは
 
データベースは作成されません。
 
テーブルも同様。Android 2.2 で確認取りました。
 
 
インスタンスを生成した後 dbhelper.getWritableDatabase(); を呼び出した
段階で onCreate() が呼び出され SQL が実行されます。
 
インスタンス生成と同時に作成されるわけではない、ってのがポイントですね。

0 コメント:

  • コメントには <b>, <strong>, <em>, <i>, <a> など一部の HTML タグを使用できます。