package com.fc2.blog98.andromaker.housekeepingbook; import java.util.Calendar; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class SubOpenHelper extends SQLiteOpenHelper { /* コンストラクタ */ public SubOpenHelper(Context c,String dbname,int version){ super(c,dbname,null,version); /*第一引数は、データベースを所有するコンテキストオブジェクトを指定。 第二引数は、DBファイル名。保存場所。 data/data/<パッケージ名>/database/<ファイル名>に保存される。 nullにすると、メモリ内に保存される。 第三引数は、不明。とりあえずnull。 第四引数は、DBのバージョンで、作成するときに指定。今は1。 データベース管理のために使うらしい。*/ } /* データベースが一番最初に作られたときの処理 コンストラクタに渡されたDBファイル名が存在しない場合に呼ばれる*/ @Override public void onCreate(SQLiteDatabase db) { final Calendar calendar = Calendar.getInstance(); final int year = calendar.get(Calendar.YEAR); final int month = calendar.get(Calendar.MONTH); final int day = calendar.get(Calendar.DAY_OF_MONTH); String sql = ""; sql += "create table aaaa ("; //テーブルの名前 sql += "_id integer primary key"; //_idはカラム名。一意に決まる。1,2,3と格納されるため、integer型。 //重複禁止のため、primary key。autoincrementとは、一度割り当てられた値を //削除されても再度は使われないようにするもの。 sql += ",Item text not null"; sql += ",Utiwake text"; sql += ",Kingaku text"; //それぞれ項目の名前。not nullは、nullと入れるとエラーになる。 sql += ")"; db.execSQL(sql); } /* データベースのバージョンアップ時に処理 * 現在のレコードを退避し、テーブルを再作成した後、退避したレコードを戻すなどの処理を行います。 */ @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }