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编码,连接超时和请求超时默认12spublic 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部分--一些通用的工具类封装的更多相关文章
- 免费IP代理池定时维护,封装通用爬虫工具类每次随机更新IP代理池跟UserAgent池,并制作简易流量爬虫
前言 我们之前的爬虫都是模拟成浏览器后直接爬取,并没有动态设置IP代理以及UserAgent标识,本文记录免费IP代理池定时维护,封装通用爬虫工具类每次随机更新IP代理池跟UserAgent池,并制作 ...
- flink---实时项目--day02-----1. 解析参数工具类 2. Flink工具类封装 3. 日志采集架构图 4. 测流输出 5. 将kafka中数据写入HDFS 6 KafkaProducer的使用 7 练习
1. 解析参数工具类(ParameterTool) 该类提供了从不同数据源读取和解析程序参数的简单实用方法,其解析args时,只能支持单只参数. 用来解析main方法传入参数的工具类 public c ...
- liferay总结的通用的工具类
在写增删改查的时候,自己动手写了几个通用的工具类,这几个通用的工具类也是基于API写的 第一个是liferay中的分页.跟我们做普通的web开发,分页是一样的首先需要建立一个分页的实体的类 packa ...
- Redis操作Set工具类封装,Java Redis Set命令封装
Redis操作Set工具类封装,Java Redis Set命令封装 >>>>>>>>>>>>>>>>& ...
- Redis操作List工具类封装,Java Redis List命令封装
Redis操作List工具类封装,Java Redis List命令封装 >>>>>>>>>>>>>>>> ...
- Redis操作Hash工具类封装,Redis工具类封装
Redis操作Hash工具类封装,Redis工具类封装 >>>>>>>>>>>>>>>>>> ...
- Redis操作字符串工具类封装,Redis工具类封装
Redis操作字符串工具类封装,Redis工具类封装 >>>>>>>>>>>>>>>>>>& ...
- 一个爬取https和http通用的工具类(JDK自带的URL的用法)
今天在java爬取天猫的时候因为ssl报错,所以从网上找了一个可以爬取https和http通用的工具类.但是有的时候此工具类爬到的数据不全,此处不得不说python爬虫很厉害. package cn. ...
- (转载) 百度地图工具类封装(包括定位,附近、城市、范围poi检索,反地理编码)
目录视图 摘要视图 订阅 赠书 | 异步2周年,技术图书免费选 程序员8月书讯 项目管理+代码托管+文档协作,开发更流畅 百度地图工具类封装(包括定位,附近.城市.范围poi检索, ...
随机推荐
- yum出现“No module named yum”错误解决方法
安装了一个Python2.7,隔天发现yum无法使用,报错信息如下,应该是系统是使用的默认的python2.6的版本 解决办法修改yum文件#vi /usr/bin/yum将 #!/usr/bin/p ...
- linux安装ftp组件
1 安装vsftpd组件 linux系统安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件. [root@bogon ~]# yum -y install v ...
- Java Map 简介
AbstractMap, Attributes, AuthProvider, ConcurrentHashMap, ConcurrentSkipListMap, EnumMap, HashMap, H ...
- css005 用层叠管理多样式
css005 用层叠管理多样式 当一个元素继承多个样式时,最近的祖先样式胜出(通俗一点就是自己有就用自己的,自己没有找parent,parent没有找grandprent,再没有就一级一级网上找) 当 ...
- log4net 记录到数据库和本地文件
1)配置代码 <?xml version="1.0" encoding="utf-8" ?> <configuration> <c ...
- Linux下Redis服务器安装配置
说明:操作系统:CentOS1.安装编译工具yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel ...
- Xcode打印frame id
开启 打开终端输入三条命令: . touch ~/.lldbinit . echo display @import UIKit >> ~/.lldbinit . echo target s ...
- Samus驱动中的Document条件
今天要说一个东西就是Samus驱动里的 Document 和他的一个子类 Op 在Samus驱动的增删改查方法中都有这类的参数传递.. 大致的使用方法是这样.. MongoU.Find<Per ...
- MVC下的客户端模板技术
1.引言 在Web编程中,我们有时经常需要使用Ajax来访问服务端的接口,然后使用这些返回的数据(一般格式都是JSON)来展示客户端的相关信息.例如:在一个商品列表,我们点击某一样的商品,查看该商品的 ...
- Spring入门_04_注解注入
applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xm ...