什么是 ContentValues类?
ContentValues类和 Hashtable比较类似,它也是负责存储一些名值对,但是它存储的名值对当中的名是一个String类型,而值都是基本类型。
插入记录
在这里我们将要插入的值都放到一个ContentValues的实例当中,然后执行插入操作,具体代码如下所示:
Java代码
public long createDiary(String title, String body) {
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_TITLE, title);
initialValues.put(KEY_BODY, body);
Calendar calendar = Calendar.getInstance();
// 生成年月日字符串
String created = calendar.get(Calendar.YEAR)
+年+calendar.get(Calendar. MONTH)+月+calendar.get
(Calendar.DAY_OF_MONTH)+日+calendar.get(Calendar.
HOUR_OF _DAY)+时+calendar.get(Calendar.MINUTE)+分;
initialValues.put(KEY_CREATED, created);
return mDb.insert(DATABASE_TABLE, null, initialValues);
}
public long createDiary(String title, String body) {
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_TITLE, title);
initialValues.put(KEY_BODY, body);
Calendar calendar = Calendar.getInstance();
// 生成年月日字符串
String created = calendar.get(Calendar.YEAR)
+年+calendar.get(Calendar. MONTH)+月+calendar.get
(Calendar.DAY_OF_MONTH)+日+calendar.get(Calendar.
HOUR_OF _DAY)+时+calendar.get(Calendar.MINUTE)+分;
initialValues.put(KEY_CREATED, created);
return mDb.insert(DATABASE_TABLE, null, initialValues);
}
代码解释:
ContentValues initialValues = new ContentValues()语句实例化一个contentValues类。
initialValues.put(KEY_TITLE, title)语句将列名和对应的列值放置到initialValues里边。
mDb.insert(DATABASE_TABLE, null, initialValues)语句负责插入一条新的纪录,如果插入成功则会返回这条记录的id,如果插入失败会返回-1。