Android SQLite快速入门教程
数据库基础概念
- SQlite 通过文件来保存数据库,一个文件就是一个数据库。
- 数据库里又包含数个表格;
- 每个表格里面包含了多个记录;
- 每个记录由多个字段组成;
- 每个字段都有其对应的值;
- 每个值都可以指定类型。
Android平台下数据库相关类
- SQLiteOpenHelper 抽象类:通过从此类继承实现用户类,来提供数据库打开、关闭等操作函数。
- SQLiteDatabase 数据库访问类:执行对数据库的插入记录、查询记录等操作。
- SQLiteCursor 查询结构操作类:用来访问查询结果中的记录。
创建数据库
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());
}
向表格中添加数据
- 通过execSQL(“INSERT INTO mytable VALUES(‘idStr’, ’nameStr’, 20);”);可以插入一条记录,当插入记录出错时会抛出异常需要处理。
- 通过insert函数:insert函数需要一个ContentValues类型的值,此类型类似于hashmap,一个key,一个值配成一对。key就是字段名。
ContentValues v = new ContentValues(); v.put("id", "101"); v.put("name", "user 101"); v.put("age", 44); mDb.insert("mytable", "null", v);
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);
更多 android http://techfoxbbs.com
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。