AndroidQuick

Project Url: sdwfqin/AndroidQuick
Introduction: 做外包用的快速开发库--微信、支付宝支付(含签名,下单)、自定义 View(验证码/密码,九宫格图片上传等)、图片预览、RxJava、EventBus、base 层封装等
More: Author   ReportBugs   OfficialWebsite   
Tags:

支持 AndroidX,正在测试,欢迎提交 issues 与 pr

不支持 AndroidX 请切换分支到 2.x

如果你看到这个仓库,非常荣幸,如果想要用于您的项目中,建议先看源码,因为这是我用来做外包用来快速开发的库,里面很多内容适合我的项目但不一定适合您的项目,当然,如果需要,您可以 clone 源码中的部分代码用于您的项目中,如有雷同,不甚荣幸

Gradle(使用前请查看注意事项):

// 支持 AndroidX

// quicklib(Base)
implementation 'com.sdwfqin.quicklib:quicklib:3.0.0-beta5'
// 如果使用 butterknife 请添加【可选】
annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'

// 支付模块
implementation 'com.sdwfqin.quicklib:paylib:3.0.0-beta3'

// Android 图片加载库(Glide 封装)
implementation 'com.sdwfqin.quick:imageloader:3.0.0-beta1'

// Android 自定义 View 组件
implementation 'com.sdwfqin.quick:widget:3.0.0-beta6'

==================== AndroidX 分界线 ====================

// 不支持 AndroidX

// quicklib(Base)
implementation 'com.sdwfqin.quicklib:quicklib:2.3.1'
// 如果使用 butterknife 请添加【可选】
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

// 支付模块
implementation 'com.sdwfqin.quicklib:paylib:1.0.5'

// Android 图片加载库(Glide 封装)
implementation 'com.sdwfqin.quick:imageloader:2.0.2'

// Android 自定义 View 组件
implementation 'com.sdwfqin.quick:widget:1.0.7'

最低支持 api18

minSdkVersion 18
targetSdkVersion 28

早期版本

1.x 文档

需要注意!!!

  1. quicklib依赖QMUI,需要在主项目中配置QMUIstyles,可参考app项目中的相应代码。
  2. 需要注意 quicklib 中的 QuickInit 类,需要的话请在 Application 中初始化(一般用不到)。
  3. quicklibqrscanwidget这几个模块因为项目引入了AndroidUtilCode,所以需要在Application初始化Utils.init(this);
  4. 请在 module 的build.gradle#android中添加如下代码:

     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_8
         targetCompatibility JavaVersion.VERSION_1_8
     }
    

关于支付模块支付宝支付的特殊说明

因支付宝 SDK 改用 aar 打包,所以使用时需要添加如下代码

  1. 在您项目根目录的build.gradle中,添加下面的内容,将libs目录作为依赖仓库

     allprojects {
         repositories {
    
             // 添加下面的内容
             flatDir {
                 dirs '../libs'
             }
    
             // ... jcenter() 等其他仓库
         }
     }
    
  2. 请将支付宝的 aar 文件放入您项目根目录的libs目录中(没有可以新建,文件名字不要变,文件夹名字跟上面的名字匹配起来就可以)

支持 Mvp 与 Mvc 模式

  1. 如果使用 Mvc 模式,直接继承 BaseActivity/BaseFragment 即可
  2. 如果使用 Mvp 模式,需要继承 MvpActivity/MvpFragment,并且 Contract 接口或 Presenter/View 接口需要继承 BaseView 与 BasePresenter,Presenter 实现类可以直接实现 Presenter 接口也可以继承 SamplePresenter类并实现 Presenter 接口,他们的区别是 SamplePresenter 里面实现了 BasePresenter 的接口处理了 View 绑定
  3. 网络部分可以参考 DemoApp 下面的mvpretrofit

使用方法

Wiki

更新文档

更新文档

混淆

可参考Sample 混淆文件

其他

热更新(Tinker)、Retrofit 封装可参考Sample

功能

  1. quicklib
文件名称 功能
BaseActivity
BaseFragment
BaseMvpActivity
BaseMvpFragment
RxPresenter Presenter 层封装
WechatShareTools 微信分享工具类
ImagePreviewActivity 图片预览 Activity(多图/单图)
BaseWebView ViewActivity 基类
WebViewActivity 传入 url 即可
WebViewLoadDataActivity 针对非 url 链接的网页
GsonUtil Gson 工具类
RxSchedulersUtils compose()统一线程处理
RxTimerUtil RxJava 定时任务
EventBusUtil EventBus 工具类,使用时需要配合 Base 基类
HintDialog 可配置提示弹窗
AppManager Activity 栈管理
QuickExecutor 线程池
ImageWatermarkUtils 图片水印工具类
IClickListener 按钮防抖
  1. paylib
文件名称 功能
AliPayTools 支付宝支付工具类
WechatPayTools 微信支付工具类
  1. widget
文件名称 功能
PictureUploadView 九宫格图片上传 view
PayPwdInputView 自定义验证码/密码 View
ClickViewPager 可以点击的 ViewPager
DecimalEditText Double 类型的 EditText,支持限定小数点后的位数
NoScrollViewPager 可以禁止左右滑动的 ViewPager
TrembleButton 可以漂浮颤抖的按钮
WrapContentHeightViewPager 处理 NestedScrollView 嵌套 Viewpager+RecyclerView
AutoPollRecyclerView 跑马灯样式的 RecyclerView(自动滚动)
AmountView 购物车商品数量选择
AutoLinesLayoutManager 自动换行的布局管理器(流式布局),建议使用flexbox-layout代替
ControlViewPager 可动态禁止(允许)左滑/右滑的 ViewPager
  1. imageloader
文件名称 功能
ImageLoader 图片加载
CircleProgressView 加载进度 View

Apk https://www.pgyer.com/tNyb

Support Me
Apps
About Me
Google+: Trinea trinea
GitHub: Trinea