高仿京东Android App,集成React-Native热更功能
简介
本项目是一个学习类型的项目,主要是为了学习一些Android最新的思路和开发思想,工程按照模块化、组件化的开发思路进行开发,项目整体结构如下图。
项目代码整洁规范,结构清晰,使用Android最新的开发思想和技术,同时集成React-Native跨平台,主要是为了实验热更功能,涉及到的技术有如下一些:
- 使用kotlin语言开发,项目使用模块化开发,降低了耦合性;
- 网络使用 retrofit2 + okhttp3方式,进行了高度的封装;
- leakcanary 内存泄漏检测
- 基于MVI架构airbnb的Mavericks
- 本地mock
- alibaba ARouter
- 集成RN热更功能, 用户需要打开rn加载页面,rn工程请见
体验
-
Apk下载链接: Apk下载链接
-
Apk二维码
部分效果如下:
MVI架构
- Model:与其他MVVM中的Model不同的是,MVI的Model主要指UI状态(State)。当前界面展示的内容无非就是UI状态的一个快照:例如数据加载过程、控件位置等都是一种UI状态
- View:与其他MVX中的View一致,可能是一个Activity、Fragment或者任意UI承载单元。MVI中的View通过订阅Intent的变化实现界面刷新(不是Activity的Intent、后面介绍)
- Intent:此Intent不是Activity的Intent,用户的任何操作都被包装成Intent后发送给Model进行数据请求
用到的第三方库
库 | 功能 |
---|---|
retrofit2 | 网络 |
okHttp3 | 网络 |
mavericks | MVI框架 |
BaseRecyclerViewAdapterHelper | 万能适配器 |
PhotoView | 图片预览 |
ARouter | 组件化路由 |
coil | 图片加载 |
XPopup | 弹窗组件 |
banner | 滚动图 |
SmartRefreshLayout | 智能下拉刷新框架 |
gson | json解析 |
leakcanary | 内存泄漏检测库 |
附件:github.com/GuoguoDad/j…