ContentUris是一个工具类,主要是用来处理使用 "content" 约束的Uri对象。
content Uri对象的语法格式是:content://authority/path/id
authority是标识contentprovider的一个字符串,所有的内容Uri都是以这个字符串开始的,
所以这个字符串必须要唯一。所以,一般用类名作为标识。
path可以是一个数据库中的表或者这某张表下的一个字段,通过/将表和字段分隔开
id是指数据库中每条记录的唯一标识,即id号。
常用方法介绍:
static long | parseId( Uri contentUri) |
static Uri | withAppendedId( Uri contentUri, long id) |
下面通过代码讲解一下:
Uri uri=Uri.parse("content://com.example.sqlite/person/5");
int id=(int) ContentUris.parseId(uri);
上面两行代码是将uri中的5数字解析出来,所以变量id的值为5
int id=data.insert("person", "name", values);
ContentUris.withAppendedID(uri,id);
当我们向数据库中新插入数据时,会返回新插入的数据的id,然后通过withappendedId
方法将id添加到uri中,返回带有id的uri。