您的位置:首页 > 移动开发 > Android开发

Android开发,关于ZxUtils的使用(一)

2017-08-15 17:39 549 查看
最近,由于公司项目中工具类的重复,冗余,萌生了写一个工具库的想法,经过一段时间的努力,ZxUtils诞生了。

ZxUtils包含了目前常规开发的大部分工具框架,并以简为主,能一句话解决的问题,就不要两句话。所以可能原本很复杂的一件事,你可能调用一下就可以解决了。

下面是我项目的GitHub地址。

https://github.com/StannyBing/ZXUtils

使用方法:

先导入依赖包

compile 'com.github.StannyBing:ZXUtils:1.3.11'

注意需要在项目的build里面添加以下代码

maven { url "https://jitpack.io" }

  在你的Application的onCreate中添加以下代码
  ZXApp.init(this, true);
  第二个参数是指是否为debug模式,如果为false,将停止工具类中的log输出,同时开始线程崩溃处理工具
  为true则代表此时为debug模式,如果遇到崩溃将直接抛出,方便定位错误。


由于工具过多,本文主要简单讲解使用方法,并不会涉及每个工具所有的方法,具体还需自行尝试。

另外需要注意的,上面我们调用了ZXApp.init(this,true)这个方法,已经给了一个全局context,所以工具库中很多方法就不需要再传入context了,除了部分必须传入当前view的context

1.ZXAnimUtil 动画相关

((ImageView) findViewById(R.id.btn_openAnimTest)).startAnimation(ZXAnimUtil.getRotateAnimationByCenter(2000, null));
注意其中的

ZXAnimUtil.getRotateAnimationByCenter(2000, null)
该方法是获取一个旋转动画,动画时间两秒完成,不设置动画监听。

类似的还有透明动画、隐藏动画等等

2.ZXAppUtil App相关工具
比如:

ZXAppUtil.installApp(this, file);
安装app,对就这么简单,代表了安装一个app,该方法还可以传入文件路径

另外还有卸载app,获取app信息,判断app是否处于前台,清除app数据,缓存等方法

3.ZXBitmapUtil Bitmap相关工具

Drawable drawable = ContextCompat.getDrawable(this, R.mipmap.test);
Bitmap bit = ZXBitmapUtil.drawableToBitmap(drawable);
该方法可以将一个drawable转换为bitmap对象,同样的还有字节数组转bitmap、bitmap转drawable、byte[]转drawable、bitmap旋转、bitmap圆角、
获取bitmap旋转角、bitmap压缩、bitmap合成等等相关方法。

4.ZXClipboardUtil 剪贴板相关工具类

ZXClipboardUtil.copyText(string)
ZXClipboardUtil.getText()

该工具类用于和剪贴板相关的工具,还有复制粘贴url,复制粘贴intent等等

5.ZXCrashUtil 崩溃相关工具类

该类用于收集app崩溃信息,并写入文件,开发者可以直接将文件传入后台判断崩溃原因,崩溃时间,崩溃所处位置

使用时,只需要

File file = ZXCrashUtil.getCrashFile()

在使用ZXApp.init(this,true)时,后面的布尔类型即是是否为debug模式,是就会开启该功能

6.ZXDataBaseUtil 数据库工具

ZXDataBaseUtil.getInstance().exexSQL(sql, bingargs)

可以很简单的进行sql语句编写,同样的还有sql增删改查,数据库建立,清除等

7.ZXDialogUtil Dialog工具类

该类是用于展示dialog,基于AlertDialog,是Materl Design,所以如果项目要求,要实现公司提供的UI界面,可能就需要自行实现了。

ZXDialogUtil.showInfoDialog(this, "提示", "是否退出?", null);
ZXDialogUtil.showLoadingDialog(this, "无进度条");
ZXDialogUtil.showLoadingDialog(this, "有进度条", 30);
dialog包含两种,普通dialog,和进度dialog,进度dialog包含了普通加载dialog和带进度条的dialog,他们的使用区别仅仅是是否传入了进度,同时,他们的展示是冲突的,也就是说不会同时出现多个进度dialog,避免了bug原因,导致出现很多dialog的情况。普通dialog包含了,基本信息dialog,确定取消dialog,列表dialog,checkbox dialog,以及自定义dialog等等。
同时,取消dialog也分为了两种情况

ZXDialogUtil.dismissDialog();
ZXDialogUtil.dismissLoadingDialog();

分别用于取消普通dialog和进度dialog,两种dialog不冲突,避免误取消的操作。

8.ZXFileUtil 文件相关工具类

该类专用于处理文件相关

ZXFileUtil.getFileName(path);
ZXFileUtil.rename(path, newName);

同样的还有判断文件是否存在,复制文件,删除文件及文件夹,获取文件uri,获取文件大小,根据不同文件类型打开文件(注意该方法可以打开几十种文件类型)等

9.ZXFormatCheckUtil 格式检测工具类
该类用于检测字符串格式

ZXFormatCheckUtil.isPhoneNum(num);
ZXFormatCheckUtil.isEmail(email);

还可以检测是否全数字,是否为身份证号码,是否是汉字,是否是银行卡号等等

10.ZXFragmentUtil Fragment相关工具类
该类可用于activity处理fragment相关事件

ZXFragmentUtil.addFragment(fragmentManager,fragment,id);
ZXFragmentUtil.removeFragment(fragment);

同样的还有替换fragment,fragment出栈,隐藏,查找,操作,等等

11.ZXImageLoaderUtil 图片加载工具类
该类基于当前流行的Glide图片加载框架,实现图片加载操作

ZXImageLoaderUtil.getBitmap(url, width, height);
改方法可以当做一个下载操作,根据url获取图片,width和height可以不传

ZXImageLoaderUtil.display(imageview, url);
将图片加载到iamgeview上

同样的可以加载url,uri,resource,file,bitmap等的图片

同时还可以选择加载大图,小图,原图,方图等样式

12.ZXIntentUtil Intent相关工具类

该类,用于获取各种intent

ZXIntentUtil.getInstallAppIntent(path);
ZXIntentUtil.getSharedImageIntent(content, uri);

上面是获取一个安装app意图和图片分享意图,同样的还有卸载意图、拨号、短信等等

13.ZXJsonUtil json相关工具类
用于处理json相关操作

JSONObject jsonObject = ZXJsonUtil.getJSONObject(jsonobject, key);
String value = ZXJsonUtil.getStringValue(jsonobject, key);

获取相关类型参数,进行了exception的处理,同样的还有bool类型,int类型等,同时还提供了list转json和json转list等的方法

14.ZXLogUtil log相关工具类

用于打印log,需要注意的是,如果在application中初始化ZXAPP时传入的false,即当前不是debug模式,将停止log的打印,避免不必要的消耗。

ZXLogUtil.loge(msg);
ZXLogUtil.logd(title, msg);
包含了所有层次的log打印,同时还提供了有title和无title的两种类型。

同时log打印除了要显示的数据,还显示了log位置,log所处的类所处的方法等信息,方便了查找。

下一篇 Android开发,关于ZxUtils的使用(二)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 工具