首先供上大神的github链接:
https://github.com/Tamsiree/RxTool
文档:https://tamsiree.com/TechnicalResearch/Android/RxTool/Wiki/RxTool-Wiki/
强调一点:这个RxTool非常强大,功能非常多,能直接使用的同时,具有非常高的学习价值,跟着看每个功能每个模块是怎么实现的,将来你将会拥有自己的Tools
RxTool是什么?以下是引用自github的简介:
Android开发人员不得不收集的工具类集合 | 支付宝支付 | 微信支付(统一下单) | 微信分享 | Zip4j压缩(支持分卷压缩与加密) | 一键集成UCrop选择圆形头像 | 一键集成二维码和条形码的扫描与生成 | 常用Dialog | WebView的封装可播放视频 | 仿斗鱼滑动验证码 | Toast封装 | 震动 | GPS | Location定位 | 图片缩放 | Exif 图片添加地理位置信息(经纬度) | 蛛网等级 | 颜色选择器 | ArcGis | VTPK | 编译运行一下说不定会找到惊喜
可以看到RxTool的功能极其多且杂,但是每个都非常实用,所以我在本篇中依次写出RxTool的用法代码实现demo。
首先是导入:按照github给出的导入步骤即可,可能有的同学会报个错,检查一下将gradle中的minSdkVersion支持的最小SDK版本改为17(我自己就抱这个错了,原因是因为项目和第三方库最小支持版本不符(项目>库 就可以了))
编译的时候还有一个问题提示没有找到CardView相关依赖,但是RxTool中一些自定义控件用到了CardView,所以手动添加:
//RxTool中用到了CardView 手动导入
implementation 'com.android.support:cardview-v7:28.0.0'
现在是基本使用,我用的是MVP框架来做的,大同小异:
要使用rxtool,首先要将其初始化
//this是context
RxTool.init(this);
然后要使用,我举个简单的例子,比如我要打开相机的闪光灯:
首先找到wiki文档中,打开闪光灯方法的位置:
image.png
然后,我们可以在代码中添加一个button的监听什么的:
RxCameraTool.openFlashLight();
这里是单例设计模式,直接调用相应的工具方法就可以做事情了。
有些东西还是要踩过才懂:
是这样的,我在项目中使用到了RXTool的RxUI中的ActivityWebView,问题来了,作者大大把ActivityWebView内部的URL给写死了,并且由于是gradle抓取的依赖包,所以这个文件是read-only只读,不能修改,一下是写死的:
private void initData() {
pbWebBase.setMax(100);//设置加载进度最大值
//webPath = getIntent().getStringExtra("URL");
webPath = RxConstants.URL_BAIDU_SEARCH;//加载的URL
要想修改这个activity怎么办呢?
方法1(推荐)
自己新建一个Activity,仿照ActivityWebView完成 然后就自己可以用了,布局文件当然也是照着完成呀 (Ctrl+C,V 再修改一些细节和修改自己要改的地方 )
以后遇到实在是需要修改第三方库的东西也可以这么做
喜闻乐见 报错了:
Cannot fit requested classes in a single dex file. Try supplying a main-dex list.
解决方法 https://www.jianshu.com/p/72d3b3cc2e48
在module的gradle中:
dependencies {
...
//大多数app不需要引入multidex支持,首选解决办法一个是删除没有使用到的引入
implementation 'com.android.support:multidex:1.0.3'
}
defaultConfig {
...
multiDexEnabled true
}
方法2(究极不推荐)
采用其他的导入方式,将第三方库整个导入:
https://www.jianshu.com/p/feb3a03d1892
按照以上方法可以导入RxUI,但同时也会导入基础库Rxkit,然而会报一个错,是gradle里边的(全部删除完),点击查看错误的地方,直接删除。然后记住,要取消掉之前gradle导入,现在可以直接修改ActivityWebView了
网友评论