1.什麼是SQLiteOpenHelper?
就是字面上的意思:幫助打開SQLiteDatabase的工具類。
2.SQLiteOpenHelper作用?
主要是: 1.onCreate()中幫助初始化數據庫的一些操作。如建表等
2.在onUpGrade()中幫助更新數據庫,刪除舊的表,創建新的表等等。
3.爲什麼要用SQLiteOpenHelper?
這個工具類就是依照java的單例模式衍生出來的。實質就是一個單例,高效。
4.怎麼使用?
SQLiteOpenHelper是一個抽象類。需要繼承它才能創造出自已所需要的實例。
最主要要實現的方法是onCreate()和onUpGrade();
public class MySQLiteOpenHelper extends SQLiteOpenHelper {
String sql;
public MySQLiteOpenHelper(Context context, String name,
CursorFactory factory, int version) {
super(context, name, factory, version);
}
// 在數據庫被創建的時候調用。這裏一般是創建表等關於數據庫的初始化操作。
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(sql);
}
// 在數據庫更新的時候調用。那麼,更新的判斷標準是什麼?根據對比數據庫名稱和把當前version
//和前一個version比較,如果當前version比較新,那就會調用。比較舊就會調用DownGrade();
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 更新操作。如刪除舊的表,創建新的表等等。
}
//在newVersion比oldVersion小的時候調用
@Override
public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
super.onDowngrade(db, oldVersion, newVersion);
}
}
----------------------------------------------------------歡迎交流。