AACHulk是以Google的ViewModel+DataBinding+LiveData+Lifecycles框架为基础, 结合Okhttp+Retrofit+BaseRecyclerViewAdapterHelper+SmartRefreshLayout+ARouter打造的一款快速开发框架, 开发语言是Kotlin,再结合AACHulkTemplate模版开发进行开发, 避免一些繁琐的操作,提供开发效率
功能介绍
1.支持多服务器地址、多成功码、各种超时时间、各种拦截器、Arouter等的配置
2.支持自定义各种非正常态View替换
3.支持接口调用出错时重试
4.支持多种Activity、Fragment展示,满足业务需求
5.支持多布局适配器
6.支持通用代码生成AACHulkTemplate模版
第三方库
Okhttp
一个用于Android、Kotlin和Java的HTTP客户端Retrofit
为Android和Java提供安全的HTTP客户端BaseRecyclerViewAdapterHelper
功能强大、灵活的万能适配器SmartRefreshLayout
Android智能下拉刷新框架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相关文档配置统一样式,也可单独设置&#