组件化common功能介绍

戳过去第26个功能介绍

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

1、BaseActivity

  1. getPresenter() 获取Presenter对象

  2. getLayoutId();统一初始化

  3. initView();初始化view

  4. initLoad(); 加载数据

  5. setListener(); 设置监听事件

  6. setCreateView(); 统一管理fragment

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

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

  9. showLoadingDialog();显示加载的动画

  10. closeLoadingDialog()关闭加载的动画

2.BaseFragment

  1. getPresenter() 获取Presenter对象

  2. getLayoutId();统一初始化

  3. initView();初始化view

  4. initLoad(); 加载数据

  5. setListener(); 设置监听事件

  6. setCreateView(); 统一管理fragment

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

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

  9. showLoadingDialog();显示加载的动画

  10. closeLoadingDialog()关闭加载的动画

3.BaseView

  1. showProgressDialog();显示动画

  2. void dimissProgressDialog();隐藏动画

  3. errorMessage(String msg)错误码信息

4.BasePresenter​​​​​​​

  1. attachView(T t); 绑定View

  2. detachView();销毁View

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

1. ImageLoaderManager​​​​​​​

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

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

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

  4. loadCircleImage();加载圆形图片

  5. loadRoundImage();加载圆角图片

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

  7. loadBlurImage();加载高斯图片

  8. loadGifImage();加载Gif动图

2.imageUtils​​​​​​​

  1. bitmap2Bytes();、bytes2Bitmap(); bitmap、bytes 互转

  2. drawable2Bitmap();、bitmap2Drawable(); bitmap、drawable互转

  3. drawable2Bytes();、bytes2Drawable(); byte、drawable互转

  4. view2Bitmap(); view转换为bitmap

  5. getBitmap(); 获取bitmap

  6. drawColor(); bitmap进行着色

  7. scale(); 缩放

  8. clip(); 剪裁

  9. skew(); 倾斜

  10. rotate();旋转

  11. getRotateDegree();获取旋转角度

  12. toRound(); 转化为圆形图片

  13. toRoundCorner(); 转化为圆角图片

  14. addCornerBorder(); 添加圆角边框

  15. addCircleBorder(); 添加圆形边框

  16. addReflection(); 添加倒影

  17. addTextWatermark(); 添加文字水印

  18. addImageWatermark();添加图片水印

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

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

  21. fastBlur(); 快速模糊

  22. renderScriptBlur(); 模糊

  23. save(); 保存

  24. isImage(); 判断是否是图片

  25. getImageType(); 获取图片类型

  26. compressByScale(); 按照缩放进行压缩

  27. compressByQuality(); 按质量进行压缩

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

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

  30. calculateInSampleSize(); 返回样本的大小

三. net 网络工具类

1.ApiUtils​​​​​​​

  1. ApiUtils(); 构造函数

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

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

  4. getInstance(); 创建单例模式

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

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

2.BaseEntity​​​​​​​

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

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

3.BaseObserver

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

4.InterceptorUtil

  1. LogInterceport(); 日志拦截器

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

5.OnSuccessAndFaultListener​​​​​​​

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

  2. onSuccees(); 成功返回的实体

  3. onCodeError(); 错误返回的实体 

6.RxSchedulerHepler

  1. 进行主线程与子线程切换

  2. 使用方法可以连贯调用

 ​​​​​​​

 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​​​​​​​

  1. HasPermission 有权限被授权的注解

  2. NoPermission 有权限被拒绝的注解

2.base

PermissionActivity Activity权限的基类

3.bean​​​​​​​

  1. Permission 权限清单

  2. PermissionInfo 权限信息的实体类

4.call​​​​​​​

  1. OnRequestCallBack 权限请求回掉接口

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

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

5.request​​​​​​​

  • EasyPermissions 回调接口请求权限

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

  2. request(); 请求权限

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

  4. PermissionUtils 请求权限工具类

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

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

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

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

  9. executeSucceedMethod(); 执行成功的方法

  10. executeFailMethod(); 执行失败的方法

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

  12. getSucceedPermissions(); 获取已授权的权限

  13. getActivity(); 获取Activity 对象

  14. requestPermissions(); 申请权限

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

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

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

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

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

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

  21. request(); 请求权限

  22. onRequestPermissionsResult(); 回掉方法

五.photoutil 打开相机相册

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

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

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

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

  2. cameraPermissionResult(); 相机权限的回调

  3. showCameraAction(); 跳转相机

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

  5. xiangCepermissionResult(); 相册的权限回调

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

  7. getFilePath(); 获取文件路径

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

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

  2. openPic(); 打开相册请求

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

  4. getPath(); 根据Uri 获取路径

六. update 升级app

1.UpdateApp​​​​​​​

  1. showUpdateDialog(); 点击下载弹窗

  2. downFile(); 下载文件

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

七. utils 常用的工具类​​​​​​​

  1. ActivityUtils Activity管理类

  2. AnimationUtils 动画相关工具类

  3. AppUtils App相关工具类

  4. ArgbUtils 颜色渐变工具类

  5. ClickUtils 点击相关的工具类

  6. Colors 一些常用的颜色色值

  7. ColorsUtils 颜色相关的工具类

  8. CountDown 倒计时工具类

  9. DateUtils 日期操作相关的工具类

  10. DeviceUtils 手机设备相关的工具类

  11. DialogUtils 对话框相关的工具类

  12. EncryptUtils 加密相关的工具类

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

  14. FileUtils 文件相关工具类

  15. FragmentUtils Fragment管理工具类

  16. GsonUtils Gson相关工具类

  17. HtmlUtils 主要给字符串添加html

  18. KeyboardUtils 键盘相关

  19. LanguageUtils 语言相关

  20. LocationUtils 定位相关服务

  21. LogUtils Log日志相关工具类

  22. LoopTimer 循环定时器相关工具类

  23. PackageUtils 包信息相关工具类 类似AppUtils

  24. PhoneUtils 手机相关工具类

  25. PreferencesUtils sp保存信息相关工具类

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

  27. SpanUtils SpannableString 相关工具类

  28. StringUtils String相关工具类

  29. ToastUtils Toast相关工具类

  30. TransitionTime 用来显示时间多久之前

  31. 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'
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: Vue组件和模块开发是Vue.js中的两个重要概念。Vue组件是将一个复杂的页面分解成多个小的组件,每个组件都是独立的个体,互不影响,这样可以提高代码的可维护性和重用性。我们可以通过Vue.component()方法注册全局组件,也可以通过Vue实例的components选项注册局部组件组件可以括模板、脚本和样式,并且可以通过props和events实现组件间的通讯,实现更灵活的组件开发。\[1\]\[2\]\[3\] 而模块开发是一种将代码分解成独立的模块,每个模块都有自己的功能和责任,可以独立开发、测试和维护。在Vue.js中,我们可以使用ES6的模块语法来实现模块开发。通过将代码分解成多个模块,可以提高代码的可读性和可维护性,同时也方便了团队协作和代码复用。模块开发可以帮助我们更好地组织和管理代码,提高开发效率。 #### 引用[.reference_title] - *1* *2* [vue组件编程(模块与组件,模块组件,非单文件和单文件组件)](https://blog.csdn.net/weixin_41549971/article/details/131656555)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Vue学习笔记(二)组件和模块](https://blog.csdn.net/qq_41404112/article/details/116759104)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值