乐趣区

关于android:高仿京东Android-App集成ReactNative热更功能

简介

本我的项目是一个学习类型的我的项目,次要是为了学习一些 Android 最新的思路和开发思维,工程依照模块化、组件化的开发思路进行开发,我的项目整体构造如下图。

我的项目代码整洁标准,构造清晰,应用 Android 最新的开发思维和技术,同时集成 React-Native 跨平台,次要是为了试验热更性能,波及到的技术有如下一些:

  1. 应用 kotlin 语言开发,我的项目应用模块化开发,升高了耦合性;
  2. 网络应用 retrofit2 + okhttp3 形式,进行了高度的封装;
  3. leakcanary 内存透露检测
  4. 基于 MVI 架构 airbnb 的 Mavericks
  5. 本地 mock
  6. alibaba ARouter
  7. 集成 RN 热更性能,用户须要关上 rn 加载页面,rn 工程请见

体验

  • Apk 下载链接:Apk 下载链接
  • Apk 二维码

局部成果如下:

MVI 架构

因为没有明确的状态治理规范,随着应用程序的增长或增加性能或当时没有打算的性能,视图渲染和业务逻辑可能会变得有点凌乱,并且这种状况常常产生在 Android 利用开发过程中。可能你常常遇到状态治理导致业务逻辑和 UI 渲染的分工不明确,最终导致利用架构的凌乱。而新提出的 MVI 架构,提倡一种单向数据流的设计思维,非常适合数据驱动型的 UI 展现我的项目。MVI 的架构思维来源于前端,因为 Model、View 和 Intent 三局部组成。

  • 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 内存透露检测库

附件:https://github.com/GuoguoDad/jd_mall

退出移动版