ContentValues
ContentValues类似于映射,也是用于存储键值对。区别之处在于ContentValues的键只能是字符串,查看ContentValues的源码,会发现其内部保存键值对的数据结构就是HashMap,“private HashMap<String, Object> mValues;”。另外,ContentValues实现了Parcelable接口,也是为了提高手机上的处理效率。这里提到ContentValues,还是因为Android源码在操作SQLite时只认这个数据结构,而不认别的java容器类,所以我们得额外对它加以了解了。幸好ContentValues的用法很简单,主要就是保存操作put,以及读取操作get。put和get方法都支持常用的基本数据类型,如整型、浮点数、字符串、布尔类型、字节等等。
SQLite在插入、更新、查询操作中需要用到ContentValues数据,下面是插入和更新的代码例子:
private static final String TABLE_NAME = "person";
public int delete(String condition) {
int count = mDB.delete(TABLE_NAME, condition, null);
return count;
}
public boolean insert(ArrayList<Person> personArray) {
for (int i = 0; i < personArray.size(); i++) {
// ContentValues对象
ContentValues cv = new ContentVa