Android Url相关工具 通用类UrlUtil

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

  

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

 

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

  Android Url相关工具 通用类UrlUtil_第1张图片

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

  .PNG

  .jpg

  .JPG

  .jpeg

  .JPEG

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

 

2.3.判断后缀是不是GIF

  Android Url相关工具 通用类UrlUtil_第2张图片

  记得大小写都要判断。

 

2.4.获取后缀名

  Android Url相关工具 通用类UrlUtil_第3张图片

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

 

2.5.获取媒体资源类型

  Android Url相关工具 通用类UrlUtil_第4张图片

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

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

  Android Url相关工具 通用类UrlUtil_第5张图片

 

2.6.根据url获取host name

  Android Url相关工具 通用类UrlUtil_第6张图片

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

  作用很简单。

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

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



转载于:https://www.cnblogs.com/Jason-Jan/p/7911013.html

你可能感兴趣的:(移动开发)