电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>MVVMframeComponent MVVMframe组件化方案

MVVMframeComponent MVVMframe组件化方案

2022-06-13 | zip | 0.07 MB | 次下载 | 2积分

资料介绍

授权协议 MIT
开发语言 Kotlin
软件类型 开源软件
所属分类 手机/移动开发、 Android UI 组件

软件简介

基于 MVVMFrame 框架为核心基础库构建的组件化方案

主要使用的核心技术

  • JetPack(Lifecycle,LiveData,ViewModel,Room)
  • Dagger
  • DataBinding
  • Retrofit
  • OkHttp
  • Glide
  • Kotlin coroutines
  • ARouter

架构

MVVMFrameComponent 组件化架构图分层如下:

pYYBAGKgm2-AbsrNAAC_UXeib-s549.jpg

因为组件化的核心基础库是基于 MVVMFrame,这里贴出 MVVMFrame 的架构图如下:

pYYBAGKgm3CATDGKAACanGJTKE0645.jpg

浅谈组件化

  1. 什么是组件化?

组件化简单概括就是把一个功能完整的 App 或 模块 拆分成多个子模块, 让每个子模块可以独立编译和运行, 也可以作为 library 合并到宿主App组成一个完整的 App进行编译和运行。每个模块即可以不相互依赖,又可以相互交互。

  1. 为什么要组件化?

当一个项目随着时间的推移,需求不断的变更与迭代。各个模块也会变的相对复杂。维护难度也会随之增加,时间久了,可能会引起一些新的问题。这时我们就需要组件化。

  1. 组件化的优势是什么?

当一个App使用组件化开发方案时,主要的优势有:组件化拆分各个模块后,每个子模块都可以独立编译和运行,这样在开发调测某个模块时,可以大大提高编译速度和开发效率。多人开发时,每个人负责独立的模块,更有利于多人团队协作开发。并且各个模块之间的代码边界相对清晰,更易于后期维护。

MVVMFrameComponent 组件化方案

MVVMFrameComponent = MVVMFrame + Component。即 MVVMFrameComponent 采用 MVVM 模式架构的组件化方案。

工程各个 Module 相关说明

app

宿主App:当各个子 Module 作为 library 时,则可将所有组件集成到 宿主App 中。此时 宿主App 则是一个拥有所有组件功能集合的完整的App。

common-base

组件化公共基础库:主要包含 MVVMFrame 快速开发框架,和作为组件化的一些公共的核心基础库,方便快速构建组件化 Project

common-res

组件化公共资源库:主要方便统一管理各个 Module 中的一些公共资源相关。

module-joke

一个简单的笑话功能模块:主要用来展示基于 MVVMFrame 来实现组件化开发,作为组件化开发的 Module 实现示例之一。

module-news

一个简单的新闻功能模块:主要用来展示基于 MVVMFrame 来实现组件化开发,作为组件化开发的 Module 实现示例之一。

其他

特别说明

Project -> build.gradle 内的自定义变量 isBuildModule

自定义变量 isBuildModule 来统一管理各个子 module 方便在 application 与 library 之间进行切换

当 isBuildModule = true 时,表示 各个子 module 为 application ,即 module 可独立运行 当 isBuildModule = false 时,表示 各个子 module 为 library ,即 module 作为 library 合并到 宿主App

Project -> module-build.gradle

组件化子 module 通用 build.gradle ,方便统一管理

根据 isBuildModule 来统一管理各个子 module 在 application 与 library 之间切换

关于 MVVMFrame

因为 MVVMFrameComponent 的核心基础库是基于 MVVMFrame 的,所以需要对 MVVMFrame 有一定的了解,才能在使用 MVVMFrameComponent 时更加得心应手, 这里不再特意介绍 MVVMFrame 相关的使用,具体介绍你可以直接查看 MVVMFrame

示例

关于各组件/模块共用 Application 初始化

在每一个子模块,写一个IComponentApp的实现类,实现各个子模块共用 Application,示例如下:

//这是app中的示例
class AppComponentApp: IComponentApp {

    override fun onCreate(app: BaseApp) {
        DaggerAppMainComponent.builder()
            .appComponent(app.appComponent)
            .build()
            .inject(app)

    }

}

在 Manifest 中配置 meta-data 对应的IComponentApp实现类,示例如下 :

         android:name="com.king.mvvm.component.app.AppComponentApp"
            android:value="ComponentApp"/>

更多使用详情,请查看app中的源码使用示例

 

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1NB-IoT芯片厂商的资料说明
  2. 0.31 MB   |  22次下载  |  1 积分
  3. 2智慧监狱建设的核心终端—智慧监仓屏
  4. 0.25 MB   |  2次下载  |  免费
  5. 3PC318C016M/D 200V半桥栅极驱动器技术手册
  6. 0.77 MB   |  2次下载  |  免费
  7. 45.0SMDJ200A单向TVS瞬态抑制二极管规格书
  8. 0.88 MB   |  1次下载  |  免费
  9. 5PC318C041EQ 200V半桥栅极驱动器技术手册
  10. 0.50 MB   |  次下载  |  免费
  11. 6PC318C042NM 200V半桥栅极驱动器技术手册
  12. 0.55 MB   |  次下载  |  免费
  13. 7技嘉H110主板IT8628E_BX IO电路图资料
  14. 2.61 MB   |  次下载  |  1 积分
  15. 8H110主板CPU PWM芯片ISL95858HRZ-T核心供电电路图资料
  16. 0.63 MB   |  次下载  |  1 积分

本月

  1. 1元宇宙深度解析—未来的未来-风口还是泡沫
  2. 6.40 MB  |  241次下载  |  免费
  3. 2元宇宙底层硬件系列报告
  4. 13.42 MB  |  184次下载  |  免费
  5. 32022 年展望報告 – 半導體產業
  6. 1.43 MB  |  136次下载  |  免费
  7. 4晶振与滤波器应用电路《电子工程师必备:元器件应用宝典》
  8. 1.57 MB  |  90次下载  |  免费
  9. 5汽车电子行业深度解析:智能化与电动化方兴未艾
  10. 6.47 MB  |  71次下载  |  免费
  11. 6中国DPU行业白皮书
  12. 23.80 MB  |  37次下载  |  免费
  13. 7晶科鑫代理线-微盟电子2021年度产品目录选型手册
  14. 14.75 MB  |  27次下载  |  免费
  15. 8NB-IoT芯片厂商的资料说明
  16. 0.31 MB   |  22次下载  |  1 积分

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935137次下载  |  10 积分
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420064次下载  |  10 积分
  5. 3Altium DXP2002下载入口
  6. 未知  |  233089次下载  |  10 积分
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191425次下载  |  10 积分
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183352次下载  |  10 积分
  11. 6labview8.5下载
  12. 未知  |  81602次下载  |  10 积分
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73822次下载  |  10 积分
  15. 8LabVIEW 8.6下载
  16. 未知  |  65991次下载  |  10 积分