AndroidQuick

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

有缘相见,不胜荣幸。v5 版本计划全面拥抱 Kotlin 与 JetPack,会移除一些早期代码,计划可见 Projects。因为很多原因,当前库目前只作为业余项目维护。

注意事项

使用前请查看注意事项,3.x 及以后版本仅支持 AndroidX,可切换分支查看早期代码

最低支持 api21

minSdkVersion 21
targetSdkVersion 31

开发环境

AndroidStudio 2020.3.1
Gradle 7.0.2

必读事项

  1. quicklib依赖QMUI,需要在主项目中配置QMUIstyles,参考app中的theme.xml,主题请继承QuickBaseTheme
  2. 需要注意 quicklib 中的 QuickInit 类,需要的话请在 Application 中初始化(一般用不到)。
  3. 请在 module 的build.gradle#android中添加如下代码:

     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_8
         targetCompatibility JavaVersion.VERSION_1_8
     }
    
  4. BaseActivity集成了QMUITopBarLayout,默认集成沉浸式状态栏(状态栏背景与 TopBar 背景相同),如需使用直接使用mNavBar调用相应方法即可,如果不需要使用请手动调用mNavBar.setVisibility(View.GONE);隐藏。

  5. 状态栏背景可能会与状态栏字体图标冲突,如有冲突请手动修改状态栏字体图标背景色,可参考app下面的SampleBaseActivity

     // 设置状态栏黑色字体图标
     QMUIStatusBarHelper.setStatusBarLightMode(mContext);
     // 设置状态栏白色字体图标
     QMUIStatusBarHelper.setStatusBarDarkMode(mContext);
    
  6. 需要在Application中添加如下代码:

     ARouter.init(this);
     Utils.init(this);
    
  7. Base 中封装了viewBinding/dataBinding相关代码,需在项目的build.gradle中启用viewBinding/dataBinding,两者可选其一,也可一起混合使用(非dataBinding页面使用viewBinding代替findViewByIdButterknife),请参考Sample中的相关代码,请不要使用setContentView添加布局,应通过实现 Base 中的getViewBinding方法添加布局。

     buildFeatures {
         viewBinding true
         dataBinding true
     }
    

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

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

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

     allprojects {
         repositories {
    
             // 添加下面的内容
             flatDir {
                 dirs '../libs'
             }
    
             // ... jcenter() 等其他仓库
         }
     }
    
  2. 请将支付宝的 aar 文件放入您项目根目录的libs目录中,然后在启动模块(ex:app Module)添加支付宝 aar 依赖

     dependencies {
         // ...
         api (name: 'alipaysdk-15.8.03.210428205839', ext: 'aar')
     }
    

导入指南

暂时没有发版,可以下载源码使用~

目录介绍

目录文件 解释
app Demo
sampleCommonLibrary Demo 公共组件
imageloader 图片加载库(基于 Glide)
libs 公共 jar/aar 包
paylib 支付组件库
quicklib 基础组件库
widget View 组件库

相关文档

1.x 文档

Wiki

更新文档

混淆

4.2.0 开始支持自动传递混淆配置,如有问题请提 Issues 或单独添加需要添加的策略~

License

   Copyright 2018 zhangqin

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Apps
About Me
GitHub: Trinea
Facebook: Dev Tools