package com.example.wordbook.provider; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.provider.BaseColumns; /** * DB管理クラス */ public final class WBHelper extends SQLiteOpenHelper { /** Helper */ private static WBHelper mHelper = null; /** * コンストラクタ * * @param context * コンテキスト */ private WBHelper(Context context) { super(context, WBData.DATABASE_NAME, null, WBData.DATABASE_VERSION); } /** * インスタンス取得処理 * * @param context * コンテキスト * @return WBHelper */ public static synchronized WBHelper getInstance(Context context) { if (mHelper == null) { mHelper = new WBHelper(context); } return mHelper; } /** * DB生成処理 * * @param db * SQLiteDatabase */ @Override public void onCreate(SQLiteDatabase db) { // DB定義クラスの情報から生成 db.execSQL("CREATE TABLE IF NOT EXISTS " + WBData.TABLE_NAME_INFO + " (" + BaseColumns._ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + WBData.InfoColumns.INFO_FILE + " " + WBData.InfoColumns.INFO_FILE_TYPE + "," + WBData.InfoColumns.INFO_NUM + " " + WBData.InfoColumns.INFO_NUM_TYPE + "," + WBData.InfoColumns.INFO_STAT + " " + WBData.InfoColumns.INFO_STAT_TYPE + "," + WBData.InfoColumns.INFO_LEVEL + " " + WBData.InfoColumns.INFO_LEVEL_TYPE + "," + WBData.InfoColumns.INFO_FLAG + " " + WBData.InfoColumns.INFO_FLAG_TYPE + "," + WBData.InfoColumns.INFO_OK + " " + WBData.InfoColumns.INFO_OK_TYPE + "," + WBData.InfoColumns.INFO_NG + " " + WBData.InfoColumns.INFO_NG_TYPE + "," + WBData.InfoColumns.INFO_QUESTION + " " + WBData.InfoColumns.INFO_QUESTION_TYPE + "," + WBData.InfoColumns.INFO_ANSWER + " " + WBData.InfoColumns.INFO_ANSWER_TYPE + "," + WBData.InfoColumns.INFO_DATA1 + " " + WBData.InfoColumns.INFO_DATA1_TYPE + "," + WBData.InfoColumns.INFO_DATA2 + " " + WBData.InfoColumns.INFO_DATA2_TYPE + ")"); } /** * DB更新処理 * * @param db * SQLiteDatabase * @param oldVersion * 旧DBバージョン * @param newVersion * 新DBバージョン */ @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // DBの移行は行わずに再生成 db.execSQL("DROP TABLE IF EXISTS " + WBData.TABLE_NAME_INFO); onCreate(db); } }