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;
}
}
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.获取媒体资源类型
下面这是常用的资源类型。
2.6.根据url获取host name
这里又用到正则表达式了。
作用很简单。
http://www.baidu.com/==>www.baidu.com
获取中间关键的主机名即可。
Android Url相关工具 通用类UrlUtil的更多相关文章
- Android 文件管理器通用类 FileUtil
1.整体分析 1.1.源代码如下,可以直接Copy. public class FileUtil { private FileUtil() { } //****系统文件目录************** ...
- Android 异步请求通用类
package com.example.demo1; import java.util.EventListener; public interface MyAsyncTaskListener exte ...
- Android Html处理器通用类 HtmlUtil
1.整体分析 1.1.首先看一下源代码,可以直接Copy. public class HtmlUtil { /** * 获取 html 中的纯文本 */ public static String Ht ...
- Android开发常用工具类
来源于http://www.open-open.com/lib/view/open1416535785398.html 主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前 ...
- Android常用的工具类
主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java.目前包括HttpUtils.DownloadManagerPro.ShellUtils.PackageUtils. Prefe ...
- Android常用的工具类(转)
主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java.目前包括HttpUtils.DownloadManagerPro.ShellUtils.PackageUtils.Prefer ...
- 2013最新Android常用的工具类整理
主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前包括HttpUtils.DownloadManagerPro.ShellUtils.PackageUtils. Pref ...
- 最全Android开发常用工具类
主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前包括 HttpUtils.DownloadManagerPro.Safe.ijiami.ShellUtils.Pack ...
- (转载)实例详解Android快速开发工具类总结
实例详解Android快速开发工具类总结 作者:LiJinlun 字体:[增加 减小] 类型:转载 时间:2016-01-24我要评论 这篇文章主要介绍了实例详解Android快速开发工具类总结的相关 ...
随机推荐
- Java笔记 —— 继承
Java笔记 -- 继承 h2{ color: #4ABCDE; } a{ text-decoration: none!important; } a:hover{ color: red !import ...
- 给大家推荐一个.Net的混淆防反编译工具ConfuserEx
给大家推荐一个.Net的混淆防反编译工具ConfuserEx. 由于项目中要用到.Net的混淆防反编译工具. 在网上找了很多.Net混淆或混淆防反编译工具,如.NET Reactor.Dotfusca ...
- arm寄存器解析
寒假闲来无事准备将自己的走过的arm之路总结一下,今天就先从arm的寄存器说起吧,欢迎各位拍砖. 要介绍arm寄存器之前我们要先了解一下arm处理器的工作模式: Arm处理器有七种工作模式,为的是形成 ...
- ModuleNotFoundError: No module named 'yaml'
ModuleNotFoundError: No module named 'yaml' 需要安装 pyyaml 包
- 2016 Multi-University Training Contest 2 - 1005 (hdu5738)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5738 题目大意:给定平面上的n个点,一个集合合法当且仅当集合中存在一对点u,v,对于集合中任意点w,均 ...
- Arduino-定义串口
在一个老外写的代码中找到了一个非常好的定义串口的方法! Arduino用下面这种方法定义串口可以方便的把协议应用的任意的端口,大大提高了代码的修改性和移植性. 以下是范例: ...
- TeXstudio安装后提示no LaTeX distribution found on this system
应该是设置一下用户变量,而非系统变量,用TeXLive 2015和MikTeX都不好使,最后设置了用户变量好使了 S:\TeX\MiKTeX 2.9\miktex\bin\x64\ 也是醉醉的 不过等 ...
- php5.5.15注释问题PHP Deprecated: Comments starting with '#' are deprecated in *.ini 警告解决办法
PHP Deprecated: Comments starting with '#' are deprecated in D:\mvam\php5\php.ini on line 1944 in U ...
- react及flux架构范例Todomvc分析
react及flux架构范例Todomvc分析 通过分析flux-todomvc源码,学习如何通过react构建web程序,了解编写react应用程序的一般步骤,同时掌握Flux的单向数据流动架构思想 ...
- Android(java)学习笔记61:Android中的 Application类用法
1. 简介 如果想在整个应用中使用全局变量,在java中一般是使用静态变量,public类型:而在android中如果使用这样的全局变量就不符合Android的框架架构,但是可以使用一种更优雅的方式就 ...