• Stars
    star
    872
  • Rank 52,322 (Top 2 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created almost 7 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

做外包用的快速开发库--微信、支付宝支付(含签名,下单)、自定义View(验证码/密码,九宫格图片上传等)、换肤、图片预览、RxJava、EventBus、JetPack、CameraX、base层封装等

有缘相见,不胜荣幸。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.