SQLiteOpenHelper
在讲解闹钟数据库之前,需要先来分析一下SQLiteOpenHelper的源码,从而了解SQLite数据库的使用.
使用方法
大家在使用SQLiteOpenHelper的时候,一般习惯使用如下代码构建一个自定义的SQLiteOpenHelper:
public class TestDBHelper extends SQLiteOpenHelper {
public static final int DATABASE_VERSION = 1;
public static final String DATABASE_NAME = "test.db";
private static final String SQL_CREATE_TEST_TABLE = "CREATE TABLE " + TestTable.TABLE_NAME +
" (" +
TestTable._ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
TestTable.COLUMN_NAME_TEST_NAME + " TEXT, " +
TestTable.COLUMN_NAME_TEST_TIME_YEAR + " INTEGER, " +
TestTable.COLUMN_NAME_TEST_TIME_MONTH + " INTEGER, " +
TestTable.COLUMN_NAME_TEST_TIME_DAY + " INTEGER, " +
" )";
private static final String SQL_DELETE_TEST_TABLE = "DROP TABLE IF EXISTS " +
TestTable.TABLE_NAME;
private static TestDBHelper mInstance;
private SQLiteDatabase rdb;
private SQLiteDatabase wdb;
private TestDBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
wdb = mInstance.getWritableDatabase();
rdb = mInstance.getReadableDatabase();
}
public TestDBHelper getInstance(Context context) {
if (mInstance == null) {
synchronized (TestDBHelper.class) {
if (mInstance == null) {
mInstance = new TestDBHelper(context);
}
}
}
return mInstance;
}
@Override
public void <