ContentUris详解及使用案例

来源:互联网 发布:听歌学英语的软件 编辑:程序博客网 时间:2024/06/04 20:10



ContentUris是一个工具类,主要是用来处理使用 "content" 约束的Uri对象。


content Uri对象的语法格式是:content://authority/path/id

authority是标识contentprovider的一个字符串,所有的内容Uri都是以这个字符串开始的,

所以这个字符串必须要唯一。所以,一般用类名作为标识。

path可以是一个数据库中的表或者这某张表下的一个字段,通过/将表和字段分隔开

id是指数据库中每条记录的唯一标识,即id号。


常用方法介绍:


static longparseId(Uri contentUri)这个方法是将uri中的id解析出来,此方法返回的是一个long型的id。


static UriwithAppendedId(Uri contentUri, long id)在指定的uri后面添加一条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。