android之Uri的使用简介\Uri与path相互转换

参考: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



你可能感兴趣的:(android)