Android中对SQLite的操作
16lz
2021-01-26
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类似。
更多相关文章
- Unity3D android findviewbyid返回 null
- android中事件传递机制(2)
- Android中的SurfaceFlinger和Choreographer
- Android(安卓)JNI直接调用驱动程序
- [置顶] Android(安卓)Camera系统
- Android音频系统之AudioFlinger(四)
- 浅析android下propt怎么通过init进程传递和glibc库函数的添加
- Android---SharedPreferences使用
- Android(安卓)学习之旅---Activity生命周期(1)--函数的调用顺序