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;
}
}

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.判断后缀是不是图片类型的

  

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

  .PNG

  .jpg

  .JPG

  .jpeg

  .JPEG

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

2.3.判断后缀是不是GIF

  

  记得大小写都要判断。

2.4.获取后缀名

  

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

2.5.获取媒体资源类型

  

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

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

  

2.6.根据url获取host name

  

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

  作用很简单。

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

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

Android Url相关工具 通用类UrlUtil的更多相关文章

  1. Android 文件管理器通用类 FileUtil

    1.整体分析 1.1.源代码如下,可以直接Copy. public class FileUtil { private FileUtil() { } //****系统文件目录************** ...

  2. Android 异步请求通用类

    package com.example.demo1; import java.util.EventListener; public interface MyAsyncTaskListener exte ...

  3. Android Html处理器通用类 HtmlUtil

    1.整体分析 1.1.首先看一下源代码,可以直接Copy. public class HtmlUtil { /** * 获取 html 中的纯文本 */ public static String Ht ...

  4. Android开发常用工具类

    来源于http://www.open-open.com/lib/view/open1416535785398.html 主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前 ...

  5. Android常用的工具类

    主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java.目前包括HttpUtils.DownloadManagerPro.ShellUtils.PackageUtils. Prefe ...

  6. Android常用的工具类(转)

    主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java.目前包括HttpUtils.DownloadManagerPro.ShellUtils.PackageUtils.Prefer ...

  7. 2013最新Android常用的工具类整理

    主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前包括HttpUtils.DownloadManagerPro.ShellUtils.PackageUtils. Pref ...

  8. 最全Android开发常用工具类

    主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前包括  HttpUtils.DownloadManagerPro.Safe.ijiami.ShellUtils.Pack ...

  9. (转载)实例详解Android快速开发工具类总结

    实例详解Android快速开发工具类总结 作者:LiJinlun 字体:[增加 减小] 类型:转载 时间:2016-01-24我要评论 这篇文章主要介绍了实例详解Android快速开发工具类总结的相关 ...

随机推荐

  1. 解决dubbo-admin管控台不能显示服务的问题

    1.首先在网上下载了dubbo-admin.war,解压后修改dubbo.properties文件 dubbo.registry.address=zookeeper://127.0.0.1:2181 ...

  2. SharePoint 2010 网络上的开发经验和资源

    sharepoint 集成 Exchange 基于OWA方式获取Exchange中未读邮件  http://www.cnblogs.com/jinho/archive/2011/09/17/21798 ...

  3. 监控系统-mod-gearman

    doc http://labs.consol.de/nagios/mod-gearman/ 安装 yum -y install gearmand-server-0.33-2.rhel6.x86_64. ...

  4. nginx处理HTTP header问题

    在实际开发中遇到http header 自定义key中包含下划线(_)时服务端header丢失的问题,解决办法详细见以下网页内容,感谢原博主 http://blog.csdn.net/dac55300 ...

  5. WSL的unable to resolve host问题

    运行apt-get的时候提示 sudo: unable to resolve host DESKTOP-PS8VD9E 在 /etc/hosts文件中 127.0.0.1 对应主机名字给加一行就好了

  6. soap使用xml调用webapi后返回xml信息进行JSON转换处理,以顺丰查询接口为例

    expressUrl = string.Format(可以卸载配置文件的域名URL + "/bsp-oisp/ws/expressService"); StringBuilder ...

  7. TeamCity实战(2):NuGet服务器

    如果有在内网架设NuGet服务器的需要,比如说公司要求所有开发人员的开发机与外网隔离,但是项目开发又必须要通过NuGet获取开发包的情况. 打开选项其实很简单,但是打开之后怎么样更新开发包要复杂些了. ...

  8. Entity Framework 连接 mysql 。(code first模式)

    准备工作 1.下载vs2015 2.下载mysql2017 3.安装 1.创建类库 . 2.打开Nuget包,下载最新版的entity framewor. 3.在引用中添加 mysql.data; m ...

  9. Raect Router 4 的使用 (1)

    本文来自于官方文档,属于意译而非直译 基本组件 React Router 有三种类型的组件,分别是:react-router.react-router-dom.react-router-native ...

  10. 理解golang中的function types

    先找个例子来看一下: package main import "fmt" // Greeting function types type Greeting func(name st ...