首页 > 代码库 > SQLiteOpenHelper深入浅出。

SQLiteOpenHelper深入浅出。

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);
	}
}


----------------------------------------------------------欢迎交流。

SQLiteOpenHelper深入浅出。