1.整体分析

1.1.源代码查看,可以直接Copy。

public class UrlUtil {
    public static boolean isUrlPrefix(String url) {
        return url.startsWith("http://") || url.startsWith("https://");
    }

    /**
     * 判断后缀是不是图片类型的
     *
     * @param url url
     */
    public static boolean isImageSuffix(String url) {
        return url.endsWith(".png")
                || url.endsWith(".PNG")
                || url.endsWith(".jpg")
                || url.endsWith(".JPG")
                || url.endsWith(".jpeg")
                || url.endsWith(".JPEG");
    }

    /**
     * 判断后缀是不是 GIF
     *
     * @param url url
     */
    public static boolean isGifSuffix(String url) {
        return url.endsWith(".gif")
                || url.endsWith(".GIF");
    }

    /**
     * 获取后缀名
     */
    public static String getSuffix(String url) {
        if ((url != null) && (url.length() > 0)) {
            int dot = url.lastIndexOf('.');
            if ((dot > -1) && (dot < (url.length() - 1))) {
                return url.substring(dot + 1);
            }
        }
        return url;
    }

    /**
     * 获取 mimeType
     */
    public static String getMimeType(String url) {
        if (url.endsWith(".png") || url.endsWith(".PNG")) {
            return "data:image/png;base64,";
        } else if (url.endsWith(".jpg") || url.endsWith(".jpeg") || url.endsWith(".JPG") || url.endsWith(".JPEG")) {
            return "data:image/jpg;base64,";
        } else if (url.endsWith(".gif") || url.endsWith(".GIF")) {
            return "data:image/gif;base64,";
        } else {
            return "";
        }
    }

    /**
     * 根据 url 获取 host name
     * http://www.gcssloop.com/ => www.gcssloop.com
     */
    public static String getHost(String url) {
        if (url == null || url.trim().equals("")) {
            return "";
        }
        String host = "";
        Pattern p = Pattern.compile("(?<=//|)((\\w)+\\.)+\\w+");
        Matcher matcher = p.matcher(url);
        if (matcher.find()) {
            host = matcher.group();
        }
        return host;
    }
}
View Code

 

1.2.主要方法

  • isUrlPrefix(String url)==>判断这个链接的前缀是http或者https
  • isImageSuffix(String url)==>判断这个链接后缀是不是图片类型的
  • isGifSuffix(String url)==>判断这个链接的后缀是不是GIF
  • getSuffix(String url)==>判断这个链接的后缀是啥
  • getMimeType(String url)==>获取mimeType(资源媒体类型)  
  • getHost(String url)==>获取主机名,就是截取url中间关键的主机 


2.局部分析

2.1.判断链接的前缀是不是http或https

  Android Url相关工具 通用类UrlUtil

  这里调用了字符串的方法,很容易。

 

2.2.判断后缀是不是图片类型的

  Android Url相关工具 通用类UrlUtil

  这里只判断了几种常用类型的图片

  .PNG

  .jpg

  .JPG

  .jpeg

  .JPEG

  还有一些需要的类型也可以加上去。

 

2.3.判断后缀是不是GIF

  Android Url相关工具 通用类UrlUtil

  记得大小写都要判断。

 

2.4.获取后缀名

  Android Url相关工具 通用类UrlUtil

  以最后一个.为基准,将后面的后缀截取出来。

 

2.5.获取媒体资源类型

  Android Url相关工具 通用类UrlUtil

  什么是MIME Type?==>参考这篇文章吧。

  下面这是常用的资源类型。

  Android Url相关工具 通用类UrlUtil

 

2.6.根据url获取host name

  Android Url相关工具 通用类UrlUtil

  这里又用到正则表达式了。

  作用很简单。

  http://www.baidu.com/==>www.baidu.com

  获取中间关键的主机名即可。



相关文章: