参考:https://www.cnblogs.com/JLZT1223/p/6805558.html

常用的URI:https://www.cnblogs.com/lyd447113735/p/7805878.html


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.XXX.com:8080/yourpath/fileName.html?a=10&b=32&c=4#harvic 

  • scheme:http
  • scheme-specific-part:
    //www.XXX.com:8080/yourpath/fileName.html?a=10&b=32&c=4#harvic 
  • fragment:harvic
  • authority:
    www.XXX.com:8080
  • query:
    a=10&b=32&c=4#harvic 
  • path:/yourpath/fileName.html
  • host:
    www.XXX.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与path的转换-----------

https://www.jianshu.com/p/33bc363290e9



更多相关文章

  1. Android实现TextView字符串波浪式跳动
  2. Android中获取屏幕相关信息(屏幕大小,状态栏、标题栏高度)
  3. android 获取路径目录方法以及判断目录是否存在,创建目录
  4. android获取应用内自定义权限与权限使用情况
  5. Android(安卓)计算器
  6. Android(安卓)获取Sim卡联系人
  7. Android(安卓)屏幕适配工具类
  8. Android(安卓)热修复案例
  9. ch020 Android(安卓)SQLite3(第一部分)

随机推荐

  1. CentOS7 安装LAMP mysql8 php7.2
  2. MYSQL中动态行数据转列数据
  3. PHP入门书《PHP和MySQL Web开发》是第三
  4. myisamchk命令使用总结
  5. Laravel - 如何为用户赋予多重角色?
  6. 从mysql中导出单个表结构和数据
  7. 无法指定目标表进行更新,在mysql中删除查
  8. mysql如何修改导入数据库文件大小限制
  9. 使用php将mysql数据导出到ODF
  10. 面试题:谈谈你对mysql的了解.