Android开发,关于ZxUtils的使用(三)
来源:互联网 发布:java 整型 编辑:程序博客网 时间:2024/06/08 13:45
接上篇 Android开发,关于ZxUtils的使用(二)
27.ZXSystemUtil 系统相关工具类
该类用于处理系统相关
ZXSystemUtil.getSDCardPath();ZXSystemUtil.getMobileBrand();ZXSystemUtil.getMacAddress();ZXSystemUtil.getManufacturer()ZXSystemUtil.isSimCardReady();上面的五个方法分别代表了获取sd卡路径、获取手机厂商、获取mac地址、获取手机品牌、判断sim卡是否准备就绪。
该类方法很多,包含了手机型号、拨打电话、获取联系人、获取手机号、获取设备型号、判断是否为手机等等方法。
28.ZXTimeUtil 日期相关工具类
该类用于处理日期相关操作
ZXTimeUtil.getCurrentTime();ZXTimeUtil.getTime(timeInMillis);上面两个方法代表了获取当前时间的毫秒值,根据默认时间格式获取当前时间。
默认的时间格式为 "yyyy-MM-dd HH:mm:ss"
也可以传入自定义的SimpleDateFormat
同时还提供了获取当前日期描述的方法,例如星期五凌晨两点,三天前,昨天等等。
29.ZXToastUtil Toast相关工具类
该类用于打印Toast,并且包含了打印SnackBar的方法。
ZXToastUtil.showToast(msg);ZXToastUtil.showImgToast(msg, drawable);ZXToastUtil.showSnackBar(view, msg);上面三个方法代表了打印简单toast,打印带图片的toast,展示snackbar。
请注意如果要打印snackbar,传入的view必须为CoordinatorLayout,且该layout必须存在于布局文件中
<LinearLayout> ... <android.support.design.widget.CoordinatorLayout android:id="@+id/coorContent" android:layout_width="match_parent" android:layout_height="wrap_content"> </android.support.design.widget.CoordinatorLayout></LinearLayout>
注意:由于系统默认的Toast,如果出现短时间连续打印,会出现Toast一直要等很久才能打印完的情况出现,十分影响使用。
故本Toast工具,如果打印toast的时候前一个Toast还没有消失,就直接替换前一个Toast的文字,并重新开始计时。也就是说,无论短时间内打印多少个Toast,都会很快切换最后一个Toast上。
30.ZXUniqueIdUtil 唯一码工具类
此类专用于部分需要获取手机唯一码的应用。
ZXUniqueIdUtil.getUniqueId();注意:获取的唯一码优先度是根据市面上的手机各个唯一码的稳定程度排序的。
首先获取的是缓存,也就是存再ZXSharedPrefUtil中的唯一码。如果缓存中不存在就进行下一级获取
然后获取的是androidID,通过:
Settings.Secure.getString(ZXApp.getContext().getContentResolver(), Settings.Secure.ANDROID_ID);进行获取,获取成功就返回该id并将id存入缓存中。如果获取失败或者获取的为“9774d56d682e549c”这一固定id,就进行下一级获取
然后获取的是deviceid,通过:
((TelephonyManager) ZXApp.getContext().getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId();进行获取,获取成功就返回该id并将id存入缓存中。如果获取失败就进行下一级获取
然后获取的是serial序列号,通过:
android.os.Build.SERIAL;
获取成功就返回该id并将id存入缓存中。如果获取失败就进行下一级获取
最后获取的自造uuid,通过:
UUID.randomUUID().toString();进行获取,该方式一定你那个获取到,但是由于uuid为不固定的,获取一次后,保存到缓存中,但是如果清空缓存就会导致uuid不一致了。
但是该方式之前已经有四种获取方式了,所以该方式仅仅是作为最后的备选方式。
31.ZXUnZipRarUtil 解压工具
该类用于解压压缩包
ZXUnZipRarUtil.unRar(ZXSystemUtil.getSDCardPath() + "rartest.rar", ZXSystemUtil.getSDCardPath(), new ZXUnZipRarListener() { @Override public void onStart() { ZXLogUtil.loge("解压开始"); } @Override public void onPregress(int progress) { ZXLogUtil.loge("解压:" + progress); } @Override public void onComplete(String outputPath) { ZXLogUtil.loge("解压结束"); } @Override public void onError(String message) { ZXLogUtil.loge("解压错误" + message); } });如上,解压需要传入文件路径、解压路径、解压监听,除了unRar,还有unZip,以及UnFile,unFile会自动根据文件类型解压。
32.ZXWindowUtil 窗口工具类
该类是用于处理窗口相关操作ZXWindowUtil.dimBackground(from, to, context);ZXWindowUtil.getDisplayRotation(activity);上面两个方法为调整窗口透明度,获取窗口旋转角。
同样的还有判断横竖屏等操作。
33.ZXThreadPool 线程池
用于使用线程池管理线程ZXThreadPool.execute(new ZXRunnable() { @Override public void IRun() { try { Thread.sleep(((int) (Math.random() * 1500))); } catch (Exception e) { e.printStackTrace(); } String threadName = Thread.currentThread().getName(); ZXLogUtil.loge(threadName + ":" + finalI); } });开启线程
if (ZXThreadPool.isPaused()) { ZXThreadPool.resume(); } else { ZXThreadPool.pause(); }暂停线程
33.ZXbroadCastManager 广播封装
ZXBroadCastManager.getInstance(this) .setAction("com.zx.default_action") .addExtra("string", "字符串类型") .addExtra("boolean", "布尔类型") .send();发送广播
ZXBroadCastManager.getInstance(this).getAction("com.zx.default_action", new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals("com.zx.default_action")) { ZXToastUtil.showToast(intent.getStringExtra("boolean")); } } });接收广播
同样的操作其实也可以使用RXBus来实现。
34.ZXInScrollRecylerManager 可以嵌套进ScrollView中的Recylerview的Manager
该类用于解决scrollview嵌套recyvlerview时,出现的问题,目前大部分的解决办法都需要重写Recyclerview或者scrollview,本类可以不需要重写,仅仅将该manager设置进去即可recyclerview.setLayoutManager(new LinearlayoutManger(this));
35.ZXItemClickSupport recylerview的点击事件
该类是用于设置recyclerview的点击事件,传统的设置方法为自定义点击事件,然后在adapter中监听点击事件再响应自定义点击事件。十分麻烦。ZXItemClickSupport.addTo(rvRecord) .setOnItemClickListener(new ZXItemClickSupport.OnItemClickListener() { @Override public void onItemClicked(RecyclerView recyclerView, int position, View view) { recordUtil.playMedia(dataList.get(position).getFile()); } });
如上,是设置item单击事件
ZXItemClickSupport.addTo(rvRecord) .setOnItemLongClickListener(new ZXItemClickSupport.OnItemLongClickListener() { @Override public void onItemLongClicked(RecyclerView recyclerView, int position, View view) { recordUtil.playMedia(dataList.get(position).getFile()); } });如上,是设置item长按事件
36.ZXOnDoubleClickListener 双击监听
该方法是双击监听事件
sb_bub.setOnClickListener(new ZXOnDoubleClickListener() { @Override protected void onDoubleClick(View v) { } });使用方法如上,像普通点击事件设置一样就可以了。
Android开发,关于ZxUtils的使用(四)
- Android开发,关于ZxUtils的使用(三)
- Android开发,关于ZxUtils的使用(一)
- Android开发,关于ZxUtils的使用(二)
- Android开发,关于ZxUtils的使用(四)
- Android关于三种进度条的使用
- Android关于三种进度条的使用
- android开发关于Android模拟器的使用
- Android开发:Handler的使用(三)
- Android中关于Volley的使用(三)认识 CacheDispatcher
- android开发------案例三(listview的使用)
- android应用开发详解(三)--------------AlertDialog的使用
- android开发之Animations的使用(三)
- Android 开发应用SQLite数据库的简单使用(三)
- Android开发,关于Canvas的使用,绘图的各种用法
- android关于使用哪个版本开发的讨论
- 关于使用eclipse开发android程序不能运行的问题。
- 关于android开发中接口回调的使用
- 关于在android开发中使用jsoup的详解
- Excel表格的项目demo
- Greenplum列存压缩表事务机制
- java网络编程读书笔记-Ch04 05
- 将字符串转换成json格式
- Android7.0共享文件权限
- Android开发,关于ZxUtils的使用(三)
- 欢迎使用CSDN-markdown编辑器
- 基于canvas实现计时器,请酷的哟,有源码分享
- ssh整合之不带hibernate配置文件的spring中的配置
- PowerDesigner写脚本的方式导入EXCEl表数据
- 详述 PO VO BO DTO DAO 和 POJO 的概念及区别
- Spark 之 Phoenix
- MTCNN算法
- Android关于OOM的解决方案