- 索 引
- [显示]
数据库基础概念
◆每个记录由多个字段组成;
Android平台下数据库相关类
创建数据库
- public DbHelper(Context context, String name, CursorFactory factory, int version) {
- super(context, name, factory, version);
- }
- public void onCreate(SQLiteDatabase db) {
- StringBuilder sql = new StringBuilder();
- sql.append("CREATE TABLE ");
- sql.append(TBL_NAME);
- sql.append(" (");
- sql.append(FIELD_ID + " TEXT PRIMARY KEY NOT NULL, ");
- sql.append(FIELD_NAME + " TEXT, ");
- sql.append(FIELD_AGE + " INTEGER");
- sql.append(");");
- db.execSQL(sql.toString());
- }
CREATE TABLE mytable (id TEXT PRIMARY KEY NOT NULL, name TEXT, age INTEGER);
向表格中添加数据
◆通过execSQL("INSERT INTO mytable VALUES('idStr', 'nameStr', 20);");可以插入一条记录,
当插入记录出错时会抛出异常需要处理。
v.put("id", "101");
v.put("name", "user 101");
v.put("age", 44);
mDb.insert("mytable", "null", v);
.dump 可以看到数据库中的数据。
为了方便使用,可以自定义一个insert函数,将值通过参数传入,而ContentValues设置则在函数内部实现。
- public void insert(String id, String name, int age) {
- if( mDb == null ) mDb = getWritableDatabase();
- ContentValues v = new ContentValues();
- v.put("id", id);
- v.put("name", name);
- if(age > 0) v.put("age", age);
- mDb.insert(TBL_NAME, "null", v);
从表格中查询记录
- Cursor SQLiteDatabase.query(String table,
- String[] columns, String selection, String[] selectionArgs,
- String groupBy, String having, String orderBy);
table 要更新的记录所在的表名。
values 要更新的字段值。
whereClause Where子句。更新哪些记录。
whereArgs Where子句中的'?'替换串。
执行update操作时,如果只给部分字段赋值,那么update后,没有赋值的字段仍然保持原来的值不变。
- int SQLiteDatabase.delete(String table, String whereClause, String[] whereArgs);
Phone Club——51CTO移动开发线下技术沙龙
本期主题:Android应用开发技术进阶
地点:创新工场 北京市海淀区北四环西路66号第三极大厦B座18层
演讲讲师:王明礼(创新工场) 范怀宇(网易)
- Android的SQLite学习及使用方法
- 浅析SQLite数据库开发常用管理工具
- Android开发中实现多点触摸的方法
- Android 2.3正式发布 11大特性全新改进
- 钱景无限 Android应用开发者晒收入