android 中的Uri详解

在android 开发中我们经常看到Uri这个单词,第一眼看很容易看成我们经常看到的URL但是他们不同的。首先说一下他们的区别 URI是uniform resource identifier 统一资源标识符,而URL是uniform resource locator 统一资源定位器。所以URL是一种具体的URI它可以用来标识一个资源,也可以locate 他,而URN是uniform resource name是统一资源命名,是通过名字来标识资源。URI是一种抽象的,高层次概念定义统一标识,URL和URN是具体的资源标识方式。也就是说URL和URN都是URI。

   我们在使用ContentProvider的时候都需要定义Uri 例如:

     content://huangjie.providers.mesprovider/words

     它像URL一样也可以分为三部分, content://这个是android 中的ContentProvider规定的,就像我们我们在访问网页需要的http://一样。暴露ContentProvider。访问ContentProvider都需要协议 content://

  huangjie.providers.mesprovider就是authorities系统就是根据这个来找到是操作哪个ContentProvider的如果你是访问固定的ContentProvider那么这部分是固定的。

   words这个属于数据部分,当我们访问不同的资源的时候这部分是不同的,是动态改变的

在android 中支持多种格式的Uri例如  content://huangjie.providers.mesprovider/words/5 那么他访问的资源是words/5也就意味是访问words中ID为5的数据.

如果我们想访问全部的数据那么我们的uri是     content://huangjie.providers.mesprovider/words虽然我们使用ContentProvider大部分是访问数据库中的数据,但是还是有访问文件,xml或者网络中的数据,这个时候uri应该是   content://huangjie.providers.mesprovider/words/detail/(表示操作words节点下的detail这个节点)。毫无疑问android 中支持这种格式的uri

在使用的我们经常需要将一个字符串转换成uri,我们需要借助Uri类的parse()静态方法 例如:

Uri uri = Uri.parse(content://huangjie.providers.mesprovider/words)


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值