utils部分--一些通用的工具类封装

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分别对播放音频和录音进行了封装。

时间: 2024-11-07 06:41:08

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

微信支付(二):工具类封装

package net.xdclass.xdvideo.utils; import java.security.MessageDigest; import java.util.UUID; /** * 常用工具类的封装,md5,uuid等 */ public class CommonUtils { /** * 生成 uuid, 即用来标识一笔单,也用做 nonce_str * @return */ public static String generateUUID(){ String uuid =

fastdfs-client-java工具类封装

FastDFS是通过StorageClient来执行上传操作的 通过看源码我们知道,FastDFS有两个StorageClient工具类. StorageClient的上传方法upload_file(...)返回的是字符串数组String[], 如[group1,M00/00/00/wKgAb1dBK2iANrayAA1rIuRd3Es112.jpg] StorageClient1的上传方法upload_file(...)返回的是字符串数组String, 如group1/M00/00/00/wK

【Cocos2d-x Lua】http工具类封装

实现 该工具类对Cocos2d-x中的HttpClient进行了封装,使可以在Lua中实现http异步请求. LuaHttpClient.h #ifndef __LUAHTTPCLIENT_H__ #define __LUAHTTPCLIENT_H__ #include "cocos2d.h" USING_NS_CC; #include "cocos-ext.h" USING_NS_CC_EXT; // 参数封装类 class LuaParams{ public:

Android Sqlite 工具类封装

鉴于经常使用 Sqlite 数据库做数据持久化处理,进行了一点封装,方便使用. 该封装类主要支持一下功能 支持多用户数据储存 支持 Sqlite数据库升级 支持传入 Sql 语句建表 支持 SQLiteDatabase 基本操作.比如:execSQL.rawQuery.insert等等 解决了数据库并发问题 先贴上封装类代码 /** * * @ClassName: DataBaseOpenHelper * @Description: 数据库工具类 * @author lhy * @date 20

静态资源上传至远程ftp服务器,ftp工具类封装

工具类,是一个单独的工程项目 提取必要信息至ftp.properties配置文件中 ftp_host=192.168.110.128 ftp_port=21 ftp_username=ftpuser ftp_password=ftpuser ftp_dir=/home/ftpuser/jd ftp_url=http://www.images.com 封装FtpUtils工具类 public class FtpUtils { private static String ftp_host = nul

突破CRUD | 万能树工具类封装

0.学完本文你或许可以收获感受一个树工具从初始逐步优化完善的过程 树工具封装的设计思考与实现思路 最后收获一款拿来即用的树工具源代码 对于前端树组件有一定了解和使用过的同学可直接跳跃到第3章节开始. 1.树长什么样 ?前端的树组件大多数情况下出现在后端的管理系统中,比如我们常见的菜单树.机构树.某某分类树.树表格等.大致像下方图片所展示的这样. 菜单树 机构树 org_tree.pngorg_tree.png 树表格 大致上来说,前端树的展现形式就是上面3张图所列的几种形式.而这种前端树组件的展

通用分页工具类

一.本工具与数据库.框架.展现层无关.代码如下: /** * 用于分页的工具类 */ public class Pager<T> { private List<T> list = new ArrayList<T>(); //对象记录结果集 private int total = 0; // 总记录数 private int pageSize = 10; // 每页显示记录数 private int pageCount = 1; // 总页数 private int pa

Android 常见工具类封装

1,MD5工具类: public class MD5Util { public final static String MD5(String s) { char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; try { byte[] btInput = s.getBytes(); // 获得MD5摘要算法的 MessageDigest 对象 Mes

常用工具类封装

日期转换工具类 CommUtil.java [java] view plain copy package com.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * 日期转换工具类 */ public class CommUtil { /** * 将日期格式转换成yyyy-MM-dd的字符串格式 * 返回值如:2010-10-06 * @par