1、简介

utils部分是对一些常用的工具类进行简单的封装,使用起来比较方便。这里列举常用的一些。

2、ContextUtils使用

主要封装了网络判断。一些方法解释如下:

1
2
3
4
5
6
7
8
//判断是否存在网络连接
public static boolean hasNetwork(Context context);
 
//判断GPS是否打开
public static boolean isGpsEnabled(Context context);
 
//SD卡是否可用
public static boolean hasSdCard()

3、 HttpUtils使用

这个只做了简单请求封装,没有支持图片上传功能,要使用图片上传功能相见dazzle.common.http部分。

1
2
3
4
5
6
7
8
//GET请求,可带参数,使用UTF-8编码,连接超时和请求超时默认12s
public static String requestURL(String url, Map<String, String> params) throws IOException;
 
//POST请求,使用UTF-8编码
public static String requestURLPost(String url, Map<String, String> paramsMap);
 
//下载文件,输出流到file里
public static void downloadURLToFile(String downloadUrl, File file) throws Exception;

4、ToastUtils使用

对ToastUtils做了简单的封装,使用更加方便,基本一句话搞定。

1
2
3
4
5
6
7
8
9
10
11
//显示吐司信息(较长时间)
public static void displayTextLong(Context context, String text);
 
//显示吐司信息(较短时间)
public static void displayTextShort(Context context, String text);
 
//显示吐司信息交给handler处理(较长时间)
public static void displayTextLong2Handler(final Context context, final String text, Handler handler);
 
//显示吐司信息交给handler处理(较短时间)
public static void displayTextShort2Handler(final Context context, final String text, Handler handler);

5、 ProgressDialogUtils使用

是对ProgressDialog的简单封转,使调用更加简单,一句话搞定。至于实现部分可能static的引用了Context,可能会引起所谓的内存泄露危险,待后面考虑改进。

1
2
3
4
5
6
7
8
9
10
11
12
//单例的progressDialog显示
public void show(String title);
 
//单例的progressDialog隐藏
public void dismiss();
 
//单例的progressDialog影藏,在线程中使用
public void dismiss(Handler handler);
 
 
//上面说的单例可以这样生成单例
ProgressDialogUtils pdu = ProgressDialogUtils.instance(this);

6、PreferenceModel使用

主要是对SharedPreferences存储的封装,使用简单一句话搞定。

1
2
3
4
5
//保存写法,其中name是key,xuan是value,Types.String是类型
PreferenceModel.instance(this).saveSystemProperties("name","xuan",Types.STRING);
 
//获取写法,其中name是key,"anan"是在获取不到值时的默认值,Types.String你懂的
PreferenceModel.instance(this).getSystemProperties("name","anan",Types.STRING);

7、缓存cache部分使用

主要是对LRU算法的缓存实现。在手机内存有限的情况下,这种缓存算法性价比还是比较高的。下面是从keel里面拷贝过来的一个很简陋的cache。其实sdk高版本的api中已经有实现的叫:LruCache类。有空用这个重写一下,人家写的总归牛逼点,虽然使用过程中也没看出来我们自己写的比较差。不过去看过源码后发现,人家的确实比较牛逼的。

1
2
3
4
5
6
7
8
9
10
11
12
//获取一个默认缓存,默认容量20个数量,如果要缓存bitmap之类的这种缓存有弊端
LRUPlusCache cache = LRUPlusCacheFactory.getDefaultCache();
 
//把对象放入缓存
XuanObj xuanObj = new XuanObj();
cache.putInCache("name",xuanObj);
 
//获取
XuanObj xuanObj = (XuanObj)cache.getFromCache("name");
 
//清理缓存
cache.removeAll();

8、其他

当然上面只是一些比较常用,还有一些其他的,大致说一下把

(1)ActionUtils类。封装了打电话,发短信接口。

(2)AlertDialogUtils类。AlertDialog的封装。类似网页的啊alert,还有多选单选框。

(3)DateUtils类。keel里面拷贝过来的。对日期的简化封装。

(4)ServiceUtils类。对Service操作的封装。

(5)StringUtils类。字符串操作的封装。

(6)TextViewHtmlUtils类。对TextView可能设置HTML的封装。

(7)UpdateManager类。更新APK使用模块。包括了APK的下载,和自动安装。

(8)Validators类。keel里面拷贝过来的,是一些常用的校验方法。

(9)VersionUtils类。可以获取app系统的一些版本号和版本名称。

9、media模块

该模块有两个重要的类。MediaPlayerModel和MediaRecorderModel分别对播放音频和录音进行了封装。

utils部分--一些通用的工具类封装的更多相关文章

  1. 免费IP代理池定时维护,封装通用爬虫工具类每次随机更新IP代理池跟UserAgent池,并制作简易流量爬虫

    前言 我们之前的爬虫都是模拟成浏览器后直接爬取,并没有动态设置IP代理以及UserAgent标识,本文记录免费IP代理池定时维护,封装通用爬虫工具类每次随机更新IP代理池跟UserAgent池,并制作 ...

  2. flink---实时项目--day02-----1. 解析参数工具类 2. Flink工具类封装 3. 日志采集架构图 4. 测流输出 5. 将kafka中数据写入HDFS 6 KafkaProducer的使用 7 练习

    1. 解析参数工具类(ParameterTool) 该类提供了从不同数据源读取和解析程序参数的简单实用方法,其解析args时,只能支持单只参数. 用来解析main方法传入参数的工具类 public c ...

  3. liferay总结的通用的工具类

    在写增删改查的时候,自己动手写了几个通用的工具类,这几个通用的工具类也是基于API写的 第一个是liferay中的分页.跟我们做普通的web开发,分页是一样的首先需要建立一个分页的实体的类 packa ...

  4. Redis操作Set工具类封装,Java Redis Set命令封装

    Redis操作Set工具类封装,Java Redis Set命令封装 >>>>>>>>>>>>>>>>& ...

  5. Redis操作List工具类封装,Java Redis List命令封装

    Redis操作List工具类封装,Java Redis List命令封装 >>>>>>>>>>>>>>>> ...

  6. Redis操作Hash工具类封装,Redis工具类封装

    Redis操作Hash工具类封装,Redis工具类封装 >>>>>>>>>>>>>>>>>> ...

  7. Redis操作字符串工具类封装,Redis工具类封装

    Redis操作字符串工具类封装,Redis工具类封装 >>>>>>>>>>>>>>>>>>& ...

  8. 一个爬取https和http通用的工具类(JDK自带的URL的用法)

    今天在java爬取天猫的时候因为ssl报错,所以从网上找了一个可以爬取https和http通用的工具类.但是有的时候此工具类爬到的数据不全,此处不得不说python爬虫很厉害. package cn. ...

  9. (转载) 百度地图工具类封装(包括定位,附近、城市、范围poi检索,反地理编码)

    目录视图 摘要视图 订阅 赠书 | 异步2周年,技术图书免费选      程序员8月书讯      项目管理+代码托管+文档协作,开发更流畅 百度地图工具类封装(包括定位,附近.城市.范围poi检索, ...

随机推荐

  1. web前端环境搭建

    第一部分:浏览器 浏览器推荐chrome浏览器.FireFox浏览器. 1. chrome浏览器因为集成了Google Developer Tools(谷歌开发者工具),因此大受欢迎. 下载地址:ht ...

  2. GitHub官方介绍(中文翻译)

    注:本人亲自翻译,转载请注明出处. 官方链接地址 http://guides.github.com/activities/hello-world/ Hello World 项目在计算机编程界是一项历史 ...

  3. IIS------配置错误:不能在此路径中使用此配置节

    转载: http://wenda.so.com/q/1414673956725716 因为 IIS 采用了更安全的 web.config 管理机制,默认情况下会锁住配置项不允许更改.运行命令行 %wi ...

  4. mvn添加本地jar

    mvn install:install-file -DgroupId=com.oracle "-DartifactId=ojdbc6" "-Dversion=11.2.0 ...

  5. MySQL学习笔记——存储过程

  6. Language Tool ,a plugin for TeXStudio

    Language Tool ,a plugin for TeXStudio TexStudio supports LanguageTool as an inline grammar checker. ...

  7. How to get http response.

    public class HttpWebResponseUtility { public static string CreateGetHttpResponse(string url) { var r ...

  8. osharp3使用经验:整合DbContextScope 文章 1

    osharp3的事务处理是跳过savechangeing方法来控制的,没有DbContextScope专业 DbContextScope管理dbcontext的优劣本文不讨论 整合过程: 1.在.Da ...

  9. Microsoft.Web.Redis.RedisSessionStateProvider

    https://github.com/Azure/aspnet-redis-providers https://www.nuget.org/packages/Microsoft.Web.RedisSe ...

  10. 在Razor中如何引入命名空间?("import namespace in razor view") 【转】

    原文链接 找了半天,原来如此: 在aspx中: <%@ Import Namespace = "Martian.Areas.SFC.Models" %><%@ I ...