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. VRRP协议详解

    今天做了lvs的负载均衡的实验,竟然成功了,出乎我意料......哈哈哈哈 http://blog.csdn.net/fanlu319/article/details/7013258

  2. JavaScript中的变量及数据类型

    转自:http://blog.csdn.net/mygis2005/article/details/7375419 JavaScript是一种弱类型的语言,变量名.操作符和方法名都区分大小写. 1.变 ...

  3. TeamViewer12.0.71503(远程控制软件)精简版单文件企业版介绍

    TeamViewer 是一款能在任何防火墙和 NAT 代理的后台用于远程控制,桌面共享和文件传输的简单且快速的解决方案.为了连接到另一台计算机,只需要在两台计算机上同时运行 TeamViewer 即可 ...

  4. mybatis 传递参数的方法总结

    有三种mybatis传递参数的方式: 第一种 mybatis传入参数是有序号的,可以直接用序号取得参数 User selectUser(String name,String area); 可以在xml ...

  5. sql 行转 列, 列转行

    行列互转 复制代码 create table test(id ),quarter int,profile int) insert into test values(,,) insert into te ...

  6. ASP------如何读取文件内容

    <body> @{ var dataFile = Server.MapPath("~/App_Data/Persons.txt"); Array list = File ...

  7. JavaWeb学习笔记——开发动态WEB资源(三)显示当前时间

    该工程的功能是实现在页面中显示当前的时间 以下的代码是HelloServlet.java中的代码 package helloapp2; import java.io.IOException; impo ...

  8. Ajax– 刷新页面 【转】

    jquery刷新页面(局部及全页面刷新) 2009-12-31 11:39:32|  分类: javascript|举报|字号 订阅 局部刷新: 这个方法就多了去了,常见的有以下几种: $.get方法 ...

  9. Yii2 如何更好的在页面注入JavaScript

    先添加一个widgets <?php /** * User: yiqing * Date: 14-9-15 * Time: 下午12:09 */ namespace common\widgets ...

  10. Spring--Spring容器

    在使用Spring所提供的各种丰富而神奇的功能之前,必须要在Spring IoC容器中装配好Bean,并建立Bean和Bean之间的关联关系. Spring提供了多种配置方式来实现Bean的装配.但在 ...