快速搭建项目时常用的工具类集合
此组件是一些自定义的公共库的集合,包括自定义工具类和UI控件两部分。
1、时间日期转换的工具
2、日志打印工具
3、线程池管理工具
4、网络状态工具
7、Apk文件的处理工具
8、Activity管理工具
9、异常处理工具
10、基于OKHttp+Retrofit+Rxjava+RxAndroid+FastJson的网络框架封装
12、线程通信工具
15、自定义提示框
16、自定义ImageView支持圆形展示图片
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
...
implementation 'com.github.ZS-ZhangsShun:EasyCommonUtils:1.8.6'
}
在项目的Application中初始化组件如下:
(1)组件初始化 EasyCommon.init(xxx ,xxx,xxx);
public static void init(Context context, String spTag , boolean isPrintLog)
三个参数分别为:Context、全局公共sp的名称、是否打印日志
EasyVariable.threadPoolUtil.poolExecute(new Runnable() {
@Override
public void run() {
//要执行的任务
//更新UI
MainUIHandler.handler().post(new Runnable() {
@Override
public void run() {
//此处代码会在主线程执行
}
});
}
});
CommonRetrofitServiceFactory.init(SERVER_UP_URL);
CommonRetrofitServiceFactory.init(SERVER_UP_URL)
.connectTimeOut(5)
.isWriteLogToFile(false)
.readTimeOut(5)
.httpLogTag("HTTP_LOG");
CommonRetrofitServiceFactory.addInterceptor(xxx)
public interface TestService {
/**
* 请求目录的接口
* @param header 头文件
* @return 一级目录列表
*/
@GET("/test-service/cats")
Observable<List<Category>> getCats(@Header("EasyHead") String header);
}
/**
* 获取一级目录的数据
*/
private void getFirCatAndChaByRxJava(String header) {
CommonRetrofitServiceFactory.getInstance().createService(TestService.class)
.getCats(header)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new EasySubscriber<List<CategoryDTO>>() {
@Override
public void onError(ExceptionHandle.ResponseThrowable responseThrowable) {
LogUtil.i("错误码:" + responseThrowable.code);
LogUtil.i("错误信息:" + responseThrowable.message);
LogUtil.i("http原始json:" + responseThrowable.errorJson);
LogUtil.i("其他异常信息:" + responseThrowable.errorDTO.toString());
}
@Override
public void onComplete(List<CategoryDTO> firstCats) {
LogUtil.i("onComplete 一级目录数量:" + firstCats.size());
LogUtil.i("请求成功,当前为主线程,可以直接更新UI");
}
});
}