配置:Uri

URI是网络资源的定义,表明了要操做的数据,Uri主要包含了两部分信息:
1》须要操做的ContentProvider 
2》对ContentProvider中的什么数据进行操做
 
一个Uri由如下几部分组成:
l
[1]  标准前缀,用来讲明一个Content Provider控制这些数据,没法改变的
      ContentProvider(内容提供者)的scheme已经由Android所规定, scheme为:content://
 
[2]  URI的标识,它定义了是哪一个Content Provider提供这些数据
      对于第三方应用程序,为了保证URI标识的惟一性,它必须是一个完整的、小写的   类名。
      主机名(或叫Authority)用于惟一标识这个ContentProvider,外部调用者能够根据这个标识来找到它。
 
备注:为了能让其余应用找到该ContentProvider ,ContentProvider 采用了authorities(主机名/域名)对它进行惟一标识,你能够把ContentProvider看做是一个网站(想一想,网站也是提供数据者),authorities 就是他的域名。
 
[3] 路径(path)能够用来表示咱们要操做的数据,路径的构建应根据业务而定
     Content Provider使用这些路径来肯定当前须要生什么类型的数据,URI中可能不包括路径,也可能包括多个
以下:
要操做person表中id为10的记录,能够构建这样的路径:/person/10
要操做person表中id10的记录的name字段, person/10/name
要操做person表中的全部记录,能够构建这样的路径:/person
要操做xxx表中的记录,能够构建这样的路径:/xxx
 
[4] 若是URI中包含,表示须要获取的记录的ID;若是没有ID,就表示返回所有
     固然要操做的数据不必定来自数据库,也能够是文件等他存储方式,以下:
     要操做xml文件中person节点下的name节点,能够构建这样的路径:/person/name
 
若是要把一个字符串转换成Uri,可使用Uri类中的parse()方法,以下:
Uri uri = Uri.parse("content://cn.itcast.provider.personprovider/person")
 
因为URI一般比较长,并且有时候容易出错,切难以理解。因此,在Android当中定义了一些辅助类,而且定义了一些常量来代替这些长字符串,例如:People.CONTENT_URI
相关文章
相关标签/搜索