android 通用工具类

组件化common功能介绍

一. base 主要是封装activity、view、fragment、presenter 基类

1.BaseActivity

  • getPresenter() 获取Presenter对象

  • getLayoutId();统一初始化

  • initView();初始化view

  • initLoad(); 加载数据

  • setListener(); 设置监听事件

  • setCreateView(); 统一管理fragment

  • initImmersionBar();初始化沉浸式状态栏

  • isImmersionBarEnabled();是否开启沉浸式状态栏

  • showLoadingDialog();显示加载的动画

  • closeLoadingDialog()关闭加载的动画

2.BaseFragment

  • getPresenter() 获取Presenter对象

  • getLayoutId();统一初始化

  • initView();初始化view

  • initLoad(); 加载数据

  • setListener(); 设置监听事件

  • setCreateView(); 统一管理fragment

  • initImmersionBar();初始化沉浸式状态栏

  • isImmersionBarEnabled();是否开启沉浸式状态栏

  • showLoadingDialog();显示加载的动画

  • closeLoadingDialog()关闭加载的动画

3.BaseView

  • showProgressDialog();显示动画

  • void dimissProgressDialog();隐藏动画

  • errorMessage(String msg)错误码信息

4.BasePresenter

  • attachView(T t); 绑定View

  • detachView();销毁View

二.imageloader 主要是有关图片框架的封装 以及对图片的处理(Glide4.0版本以上)

1. ImageLoaderManager

  • loadImage(); 加载图片,分为默认加载、带有占位图以及错误图片加载

  • loadFileImage();加载文件图片,分为默认加载、带有占位图以及错误图片加载

  • loadResourceImage();加载本地资源图片,分为默认加载、带有占位图以及错误图片加载

  • loadCircleImage();加载圆形图片

  • loadRoundImage();加载圆角图片

  • loadSizeImage();加载自定义尺寸图片

  • loadBlurImage();加载高斯图片

  • loadGifImage();加载Gif动图

2.imageUtils

  • bitmap2Bytes();、bytes2Bitmap(); bitmap、bytes 互转

  • drawable2Bitmap();、bitmap2Drawable(); bitmap、drawable互转

  • drawable2Bytes();、bytes2Drawable(); byte、drawable互转

  • view2Bitmap(); view转换为bitmap

  • getBitmap(); 获取bitmap

  • drawColor(); bitmap进行着色

  • scale(); 缩放

  • clip(); 剪裁

  • skew(); 倾斜

  • rotate();旋转

  • getRotateDegree();获取旋转角度

  • toRound(); 转化为圆形图片

  • toRoundCorner(); 转化为圆角图片

  • addCornerBorder(); 添加圆角边框

  • addCircleBorder(); 添加圆形边框

  • addReflection(); 添加倒影

  • addTextWatermark(); 添加文字水印

  • addImageWatermark();添加图片水印

  • toAlpha(); 转化为带有透明度

  • toGray();转化带有灰度的图片

  • fastBlur(); 快速模糊

  • renderScriptBlur(); 模糊

  • save(); 保存

  • isImage(); 判断是否是图片

  • getImageType(); 获取图片类型

  • compressByScale(); 按照缩放进行压缩

  • compressByQuality(); 按质量进行压缩

  • compressBySampleSize(); 按采样大小进行压缩

  • getSize(); 获取图片尺寸大小

  • calculateInSampleSize(); 返回样本的大小

三. net 网络工具类

1.ApiUtils

  • ApiUtils(); 构造函数

  • getOkHttpClient(); 返回OkHttpClient对象,内部参数配置,根据项目自行配置。

  • getRetrofit(); 获取Retrofit对象,设置Retrofit参数,根据项目自行配置

  • getInstance(); 创建单例模式

  • getService(); 通过java反射获取对象(获取业务对象)

  • getApiService(); 获取api业务对象,根据项目需要自行更改

2.BaseEntity

  • 网络返回数据 基类 支持泛型

  • code 响应码 message 信息 data 对象根据自己项目需求进行更改

3.BaseObserver

  • Observer基类,网络请求根据不同响应码做出相关的处理

4.InterceptorUtil

  • LogInterceport(); 日志拦截器

  • HeaderInterceptor(); 网络拦截器 可以自行添加请求头,根据项目需求来定

5.OnSuccessAndFaultListener

  • 监听网络请求数据成功与错误

  • onSuccees(); 成功返回的实体

  • onCodeError(); 错误返回的实体

6.RxSchedulerHepler

  • 进行主线程与子线程切换

  • 使用方法可以连贯调用

            ApiUtils.getInstance().getApiService()
                   .方法名()              
                   .compose(RxSchedulerHepler.io_main())
                   .subscribe(new BaseObserver<Bean>(view, new                                          OnSuccessAndFaultListener() {
                       @Override
                       public void onSuccees(BaseEntity t) {
                           view.showData(t);
                       }       @Override
                   public void onCodeError(BaseEntity t) {
                       view.errorCodeBean(t);
                   }
               }));

四. permission权限相关的

1.annotations

  • HasPermission 有权限被授权的注解

  • NoPermission 有权限被拒绝的注解

2.base

  • PermissionActivity Activity权限的基类

3.bean

  • Permission 权限清单

  • PermissionInfo 权限信息的实体类

4.call

  • OnRequestCallBack 权限请求回掉接口

  • hasPermission(); 有权限被授权时回掉

  • noPermission(); 有权限被拒绝时回掉权限

5.request

  • EasyPermissions 回调接口请求权限

  • EasyPermissions(); 构造函数 不允许被实例化

  • request(); 请求权限

  • onRequestPermissionsRequest(); 在Activity或者是Fragment中的同名同参方法调用此方法

  • PermissionUtils 请求权限工具类

  • gotoPermissionSettings(); 跳转到应用权限页面

  • isHasPermission(); 检查某些权限是否全部授权了

  • isOverMarshmallow(); 判断是否是android6.0以上

  • checkPermissionPermanentDenied(); 检查某个权限是否被永久拒绝

  • executeSucceedMethod(); 执行成功的方法

  • executeFailMethod(); 执行失败的方法

  • getFailPermissions(); 获取没有授权的权限

  • getSucceedPermissions(); 获取已授权的权限

  • getActivity(); 获取Activity 对象

  • requestPermissions(); 申请权限

  • checkObject(); 检测对象是否符合要求

  • isCorrectObject(); 检查对象是否是Activity或者Fagment

  • isEmptyPermissions();检查权限是否为空

  • arrayConversion();数组转换,将String数组转换为PermissionInfo集合

  • SimplePermissions 通过注解的方法请求权限

  • SimplePermissions();构造函数,不能被实例化

  • request(); 请求权限

  • onRequestPermissionsResult(); 回掉方法

五.photoutil 打开相机相册

1. PhotoHelp 对相册、相机进行操作

  • PhotoHelp 注意PhotoHelp中打开相册,provider

根据自己androidManifest指定的进行配置,否则项目会报错

  • applyForCameraPermission(); 获取相机权限打开相机

  • cameraPermissionResult(); 相机权限的回调

  • showCameraAction(); 跳转相机

  • autoObtainStoragePermission(); 获取相册权限,打开相册

  • xiangCepermissionResult(); 相册的权限回调

  • xiangceResult(); 获取相册选取的图片

  • getFilePath(); 获取文件路径

2.PhotoUtils 相机相册相关工具类

  • hasSdcard(); 检查设备是否存在SD卡

  • openPic(); 打开相册请求

  • getBitmapFromUri(); 读取uri 所在的图片

  • getPath(); 根据Uri 获取路径

六. update 升级app

1.UpdateApp

  • showUpdateDialog(); 点击下载弹窗

  • downFile(); 下载文件

  • installAPK();下载到本地后执行安装

七. utils 常用的工具类

  • ActivityUtils Activity管理类

  • AnimationUtils 动画相关工具类

  • AppUtils App相关工具类

  • ArgbUtils 颜色渐变工具类

  • ClickUtils 点击相关的工具类

  • Colors 一些常用的颜色色值

  • ColorsUtils 颜色相关的工具类

  • CountDown 倒计时工具类

  • DateUtils 日期操作相关的工具类

  • DeviceUtils 手机设备相关的工具类

  • DialogUtils 对话框相关的工具类

  • EncryptUtils 加密相关的工具类

  • FileIoUtils 文件相关 有关流读取工具类

  • FileUtils 文件相关工具类

  • FragmentUtils Fragment管理工具类

  • GsonUtils Gson相关工具类

  • HtmlUtils 主要给字符串添加html

  • KeyboardUtils 键盘相关

  • LanguageUtils 语言相关

  • LocationUtils 定位相关服务

  • LogUtils Log日志相关工具类

  • LoopTimer 循环定时器相关工具类

  • PackageUtils 包信息相关工具类 类似AppUtils

  • PhoneUtils 手机相关工具类

  • PreferencesUtils sp保存信息相关工具类

  • ShellUtils shell工具类 检查系统root权限 并在shell或者root用户下执行命令

  • SpanUtils SpannableString 相关工具类

  • StringUtils String相关工具类

  • ToastUtils Toast相关工具类

  • TransitionTime 用来显示时间多久之前

  • WebViewManager WebView管理器,提供常用的设置

八. view 自定义加载中动画

九. 三方依赖 需要API引入 是解决其他的Module可以直接导入

// V7支持包 版本:28.0.0
api 'com.android.support:appcompat-v7:28.0.0'
//约束布局 版本:1.1.3
api 'com.android.support.constraint:constraint-layout:1.1.3'
// V4支持包 版本:28.0.0
api 'com.android.support:support-v4:28.0.0'
//RecyclerView 版本:28.0.0
api 'com.android.support:recyclerview-v7:28.0.0'
// Design,版本28.0.0
api 'com.android.support:design:28.0.0'
//okhttp3网络框架 版本:3.14.0
api 'com.squareup.okhttp3:okhttp:3.14.0'
//Okhttp,Log插件 网络请求框架 版本:3.14.0
api 'com.squareup.okhttp3:logging-interceptor:3.14.0'
//GOSN JSON解析框架 版本:2.8.5
api 'com.google.code.gson:gson:2.8.5'
//Retrofit网络请求框架 版本:2.6.0
api 'com.squareup.retrofit2:retrofit:2.6.0'
//Retrofit与GSON整合依赖包 版本:2.6.0
api 'com.squareup.retrofit2:converter-gson:2.6.0'
//Retrofit与Rxjava2整合依赖包 版本号:2.6.0
api 'com.squareup.retrofit2:adapter-rxjava2:2.6.0'
//RxJava2一种响应式编程框架 版本号:2.+
api 'io.reactivex.rxjava2:rxjava:2.+'
//RxJava2与Android整合依赖包 版本号:2.+
api 'io.reactivex.rxjava2:rxandroid:2.+'
//Glide图片加载框架 版本号:4.10.0
api 'com.github.bumptech.glide:glide:4.9.0'
//Glide自动编译器  版本:4.10.0
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
//EventBus依赖包
api 'org.greenrobot:eventbus:3.1.1'
//强大灵活的适配器 版本号:2.+
api 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.+'
//自动查找ID 版本号:8.8.1
api 'com.jakewharton:butterknife:8.8.1'
//自动查找ID自动编译器 版本:8.8.1
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
// 沉浸式状态栏
api 'com.gyf.immersionbar:immersionbar:3.0.0'
发布了395 篇原创文章 · 获赞 52 · 访问量 29万+

猜你喜欢

转载自blog.csdn.net/qq_23174861/article/details/103734249