基于谷歌最新AAC架构打造的Android MVVM开发框架,使用该框架可以快速开发一个高质量、易维护的Android应用

AACHulk是以Google的ViewModel+DataBinding+LiveData+Lifecycles框架为基础, 结合Okhttp+Retrofit+BaseRecyclerViewAdapterHelper+SmartRefreshLayout+ARouter打造的一款快速开发框架, 开发语言是Kotlin,再结合AACHulkTemplate模版开发进行开发, 避免一些繁琐的操作,提供开发效率

功能介绍

1.支持多服务器地址、多成功码、各种超时时间、各种拦截器、Arouter等的配置

2.支持自定义各种非正常态View替换

3.支持接口调用出错时重试

4.支持多种Activity、Fragment展示,满足业务需求

5.支持多布局适配器

6.支持通用代码生成AACHulkTemplate模版

第三方库

  1. Okhttp 一个用于Android、Kotlin和Java的HTTP客户端
  2. Retrofit 为Android和Java提供安全的HTTP客户端
  3. BaseRecyclerViewAdapterHelper 功能强大、灵活的万能适配器
  4. SmartRefreshLayout Android智能下拉刷新框架
  5. ARouter 帮助 Android App 进行组件化改造的路由框架

基础功能

1.主项目启用dataBinding

    dataBinding {
        enabled true
    }

2.添加依赖

在project的build.grade加入

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
        google()
        jcenter()
    }
}

在主项目app的build.grade加入

api 'com.madreain:libhulk:1.0.4'

3.继承HulkApplication,配置相关配置项

    HulkConfig.builder() //这里只需要选择设置一个
//            .setRetSuccess(BuildConfig.CODE_SUCCESS)
            .setRetSuccessList(BuildConfig.CODELIST_SUCCESS)
            //设置多baseurl的retcode
            .addRetSuccess(HulkKey.WANANDROID_DOMAIN_NAME, BuildConfig.WANANDROID_CODELIST_SUCCESS)
            .addRetSuccess(HulkKey.GANK_DOMAIN_NAME, BuildConfig.GANK_CODELIST_SUCCESS)
            .setBaseUrl(BuildConfig.BASE_URL)
            //设置多baseurl
            .addDomain(HulkKey.WANANDROID_DOMAIN_NAME, HulkKey.WANANDROID_API)
            .addDomain(HulkKey.GANK_DOMAIN_NAME, HulkKey.GANK_API)
            .setLogOpen(BuildConfig.OPEN_LOG)
            .setArouterOpen(BuildConfig.OPEN_AROUTER)
            .addOkHttpInterceptor(RequestHeaderInterceptor()) //请求头拦截器
            .addOkHttpInterceptor(
                BuildConfig.OPEN_LOG,
                HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY)
            ) //okhttp请求日志开关+消息拦截器.md
            .addRetCodeInterceptors(SessionInterceptor()) // returnCode非正常态拦截器
            .setRetrofit(
                ApiClient.getInstance().getRetrofit(
                    ApiClient.getInstance().getOkHttpClient(
                        HulkConfig.getOkHttpInterceptors()
                    )
                )
            )
            .build()

上面这些配置项的配置可参考demo进行自身项目的配置

这里还可根据SmartRefreshLayout相关文档配置统一样式,也可单独设置&#

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值