• 配置: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
  • 相关阅读:
    【Android测试】Android截图的深水区
    【Android测试】UI自动化代码优化之路
    网页爬虫小试牛刀
    【Android测试】【第十九节】Espresso——API详解
    【iOS测试】【随笔】帧率FPS评测
    【iOS测试】【随笔】崩溃日志获取
    【后台测试】Linux下小试jmeter
    【后台测试】手把手教你jmeter压测
    【行业交流】2016 TiD质量竞争力大会——移动互联网测试到质量的转变之路
    【Android测试】【第十八节】Espresso——环境搭建
  • 原文地址:https://www.cnblogs.com/yedushusheng/p/4333932.html
Copyright © 2020-2023  润新知