uri基础

 

android中许多数据是通过url进行描述的。

 

URI代表了要操作的数据,一般包含两方面的信息

1 主机名  公司名称。内容提供者。实现类Xxx提供者

Content://Cn.itcast.provider.xxx

2 我们要对内容提供者的哪个内容进行操作,通过路径部分标示出来

 

 

Scheme  例如 content://  http:  结构

是由内容提供者提供的

 

外部用户要通过contentProvider来找到要操作的数据,

要操作person表中id10的记录,我们可以用/person/10 来表示

要是想进一步操作id10name记录  /person/10/name

要操作person中的所有数据  /person

要操作xxx中的所有数据  /xxx

 

要操作的不一定是数据库的,也可以使XML文件中的

Person节点下的name节点

/person/name

 

如果要转换URI  Uri uri = Uri.parse(“……”);

 

UriMatcher

这个类能帮助我们匹配URI地址,使用起来时这样的

首先我们要把这个类实例化

UriMatcher sMacher = new UriMatcher(UriMatcher.ON_MATCH); 实例化的时候传入的参数表示,如果没有匹配到URI,就返回-1,那个参数常量就表示-1

 

第二部 把要匹配的内容加入进去

sMatcher.addURI(“主机名”,”路径,返回值);

 

路径后面也可以使用#作为通配符

 

第三部  用一个switch语句进行判断

Switch(sMatch.match(URI.parse“要匹配的URI”)){

   Case 1:

   Break;

Case 2;

Break

Default://不匹配

 

Break;

}

 

 

ContentUris

这个类也是比较有用的方法,可以获取或者追加路径上的ID部分

ContentUris.withAppendedld(uri,10);这样的话就在uri后面追加了id10

Content://cn.itcast.provider.personprovider/person/10

 

如果想获取后面的id,就是用ContentUris.parseId(uri),这样就能返回一个ID

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值