URI解析和代码提取

1、URI=“http://www.java2s.com:8080/yourpath/fileName.htm?stove=10&path=32&id=4#harvic ”

  • getScheme() :获取Uri中的scheme字符串部分,在这里即,http
  • getSchemeSpecificPart():获取Uri中的scheme-specific-part:部分,这里是://www.java2s.com:8080/yourpath/fileName.htm?
  • getFragment():获取Uri中的Fragment部分,即harvic
  • getAuthority():获取Uri中Authority部分,即www.java2s.com:8080
  • getPath():获取Uri中path部分,即/yourpath/fileName.htm
  • getQuery():获取Uri中的query部分,即stove=10&path=32&id=4
  • getHost():获取Authority中的Host字符串,即www.java2s.com
  • getPost():获取Authority中的Port字符串,即8080

另外还有两个常用的:getPathSegments()、getQueryParameter(String key)

  • List< String> getPathSegments():上面我们的getPath()是把path部分整个获取下来:/yourpath/fileName.htm,getPathSegments()的作用就是依次提取出Path的各个部分的字符串,以字符串数组的形式输出。以上面的Uri为例:

    String mUriStr = "http://www.java2s.com:8080/yourpath/fileName.htm?stove=10&path=32&id=4#harvic";  

    Uri mUri = Uri.parse(mUriStr);  

    List pathSegList = mUri.getPathSegments();  

    for (String pathItem:pathSegList){  

        Log.d("qijian","pathSegItem:"+pathItem);  

    }  

     

打出来的列表为:

  • getQueryParameter(String key):在上面我们通过getQuery()获取整个query字段:stove=10&path=32&id=4,getQueryParameter(String key)作用就是通过传进去path中某个Key的字符串,返回他对应的值。

    String mUriStr = "http://www.java2s.com:8080/yourpath/fileName.htm?stove=10&path=32&id#harvic";  

    mUri = Uri.parse(mUriStr);  

    Log.d(tag,"getQueryParameter(\"stove\"):"+mUri.getQueryParameter("stove"));  

    Log.d(tag,"getQueryParameter(\"id\"):"+mUri.getQueryParameter("id"));  

     

注意注意,我稍微更改了下字符串,把query中id的值去掉了!!!!!然后看看通过getQueryParameter("id")获取它的值会得到什么!
结果如下:

可以看到,在path中,即使针对某一个KEY不对它赋值是允许的,但在利用getQueryParameter()获取该KEY对应的值时,获取到的是null;

2、如果在inter-filter看到如下参数,表明该Activity只打开文件名结尾是.file的文件

  

参考文章:

http://blog.csdn.net/harvic880925/article/details/44679239

你可能感兴趣的:(android开发,android安全)