组件化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'