Android Uri解析
来源:互联网 发布:怎样应聘淘宝模特 编辑:程序博客网 时间:2024/06/02 01:49
Android Uri是Google依据Java URI为Android量身打造的,本篇将和大家一起学习Android中的Uri。
Android Uri结构简介:
根据Java中的URI结构可以知道,Android Uri的基本结构是:
[scheme:]scheme-specific-part[#fragment],
这里分为三个部分,scheme、scheme-specific-part、fragment。如果更详细的划分,可以为:
[scheme:][//authority][path][?query][#fragment] 。
其中各部分的规则如下:
- path可以有多个,每个用/连接;
- query参数可以带有对应的值,也可以不带,如果带对应的值用=表示;
- query参数可以有多个,每个用&连接;
- 在android中,除了scheme、authority是必须要有的,其它的几个path、query、fragment,它们每一个可以选择性的要或不要,但顺序不能变。
下面通过一个示例介绍一下Android Uri:
http://www.java2s.com:8080/yourpath/fileName.htm?stove=10&path=32&id=4#harvic
- scheme:http
- scheme-specific-part://www.java2s.com:8080/yourpath/fileName.htm?stove=10&path=32&id=4
- fragment:harvic
- authority:www.java2s.com:8080
- query:stove=10&path=32&id=4
- path:/yourpath/fileName.htm
- host:www.java2s.com
- port:8080
API简介:
getScheme():获取Uri中的scheme字符串部分;
getSchemeSpecificPart():获取Uri中的scheme-specific-part部分;
getFragment():获取Uri中的Fragment部分;
getAuthority():获取Uri中Authority部分;
getPath():获取Uri中path部分;
getQuery():获取Uri中的query部分;
getHost():获取Authority中的Host字符串;
getPost():获取Authority中的Port字符串;
List< String> getPathSegments():上面我们的getPath()是把path部分整个获取下来,getPathSegments()的作用就是依次提取出Path的各个部分的字符串,以字符串数组的形式输出。
另外,在android.net.Uri中有一个Uri.Builder构造器。
Uri扩展概念:
绝对URI:以scheme组件起始的完整格式,如http://fanyi.youdao.com。表示以对标识出现的环境无依赖的方式引用资源。
相对URI:不以scheme组件起始的非完整格式,如fanyi.youdao.com。表示以对依赖标识出现的环境有依赖的方式引用资源。
不透明URI:scheme-specific-part组件不是以正斜杠(/)起始的,如mailto:xxx@abc.com。由于不透明URI无需进行分解操作,因此不会对scheme-specific-part组件进行有效性验证。
分层URI:scheme-specific-part组件是以正斜杠(/)起始的,如http://xxx.com。
- Android Uri参数解析
- Android Uri解析
- Uri结构解析(Android)
- 【URI】Android常用URI
- Uri--android.net.Uri
- Android URI
- android - uri
- Android URI
- android : Uri
- Android - Uri
- android uri
- android uri
- Android - Uri
- Android Uri
- Android--Uri
- Android URI
- Android Uri
- Android onFragmentInteraction(Uri uri) 方法
- 元数据相关知识
- 那些我曾踩过的坑之类型显式/隐式转换
- 项目 4 - 顺序串算法(2)
- iOS开发 pod管理项目,多个target管理的Podfile的写法
- 理解离散傅立叶变换(三.复数)
- Android Uri解析
- Java常用排序算法/程序员必须掌握的8大排序算法
- GreenDao3.0简单使用和升级
- python数据交换
- 关于数组的for循环与for...in循环的使用区别
- git 使用技巧
- smartClient封装Echarts
- python strip()的用法
- NDK各版本下载