安卓开发-Sqliteopenhelper使用

如果在安卓开发中,直接使用Activity中的openOrCreateDatabase(name, mode, factory)会有一系列跟随的问题。比如说数据库升级、更新等。

最好是使用其封装版本:SQLiteOpenHelper

继承和扩展SQLiteOpenHelper类主要做的工作就是重写以下两个 方法。

onCreate(SQLiteDatabase db) : 当数据库被首次创建时执行该方法,一般将创建表等初始化操作在该方法中执行。

onUpgrade(SQLiteDatabse dv, int oldVersion,int new Version):当打开数据库时传入的版本号与当前的版本号不同时会调用该方法。

除了上述两个必须要实现的方法外,还可以选择性地实现onOpen 方法,该方法会在每次打开数据库时被调用。

自己在业务中重写这些函数,然后通过helper的getWritableDatabase和getReadableDatabase来得到想要操作的数据库。再进行操作就可以了。

--------------------------------

另外,判断一个表在sqlite中是否存在,可以使用如下方法:

String sql = "SELECT count(*) FROM sqlite_master WHERE type='table' AND name='items'";
		Cursor cur = db.rawQuery(sql, null);
		int count = -1;
		while (cur.moveToNext()) {
			count = cur.getInt(0);
		}
		if (count <= 0) {
			// 表不存在
		} else {

		}


 

你可能感兴趣的:(安卓开发-Sqliteopenhelper使用)