1. 总论
通常自定义类,并继承自SQLiteOpenHelper,在默认的构造函数中,会调用父类的构造函数。只需将数据库名传入即可。
super(context, DATABASE_NAME, null, DATABASE_VERSION);
2. 创建表
首先,获取一个可写的数据库对象:
database = this.getWritableDatabase();
然后,调用execSQL方法:
database.execSQL("CREATE TABLE " + TABLE_NAME + " ("
+ ID + " INTEGER not null, "
+ TITLE + " text not null, "
+ BODY + " text not null, "
+ DATE + " text not null, "
+ TIME + " text not null, "
+ PEOPLE + " text not null " + ");"
);
3. 删除表
同理,执行execSQL方法:
database.execSQL("drop table if exists " + TABLE_NAME + ";");
4. 查询记录
核心代码就一句:
Cursor c = database.query(tableName, columns, whereClause, values, null, null, null);
5. 插入记录
需要用ContentValue来构造,其实就是一个Map<String, String>。
ContentValues itemValue = new ContentValues();
itemValue.put(ID, (Integer) item.get(ID));
itemValue.put(TITLE, (String) item.get(TITLE));
itemValue.put(BODY, (String) item.get(BODY));
itemValue.put(DATE, (String) item.get(DATE));
itemValue.put(TIME, (String) item.get(TIME));
itemValue.put(PEOPLE, (String) item.get(PEOPLE));
database.insert(tableName, null, itemValue);
6. 删除记录
rows = database.delete(tableName, this.getPEOPLE() + "=?",new String[] { value });
返回影响的行数。
7. 通用操作
database.execSQL( ... )
除查询外的操作(如:CREATE TABLE, DELETE, INSERT)都可以在这里进行,和Hibernate里面直接执行本地sql类似。