基于CC的Android MVVM 组件化实现

2,863 阅读2分钟

基于CC的Android MVVM 组件化实现

MVVM

网上很多介绍MVVM的文章,在此不做阐述

组件化

常用组件化解决方案

1. CC
2. 得到DDComponentForAndroid
3. ModularizationArchitecture
4. 阿里Arouter
5. 聚美组件化方案
6. ActivityRouter

以上是一些常用的组件化解决方案,以及一些相关的文章

这六种组件化方案的使用对比: github.com/luckybilly/…

通过对比最终采用CC框架进行组件化开发

无图无真相

image

image

下面开始撸代码

一. 创建宿主项目

这一步和普通的项目创建方式一样,

File-> New-> NewProject 修改build.gradle文件

ext.mainApp = true  //设置为true,表示此module为主app module,一直以application方式编译
apply from: rootProject.file('mufeng-cc-settings.gradle')

apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android-extensions'

android {
    compileSdkVersion rootProject.compileVersion
    defaultConfig {
        applicationId "com.mufeng.mufengdiary"
        minSdkVersion rootProject.minVersion
        targetSdkVersion rootProject.compileVersion
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    dataBinding {
        enabled = true
    }
}

二. 创建基础库组件

在项目中是基于MVVM设计模式 + Databinding + Kotlin 以及一些常用的基础库来封装

三. 引入CC组件化创建Module模板

这一步是可选的,此模板是根据AndroidStudio的项目创建模板来改造的,可以快速的构建出CC组件化的Module组件

模板下载地址: 点我下载

此模板的使用方法:

  1. 下载此模板文件
  2. 解压文件到目录: \android-studio\plugins\android\lib\templates\gradle-projects中
  3. 重启AndroidStudio

注: 此创建模板同学们也可以自行修改,修改完成后,一定要重启才能生效

好! 模板插件安装成功

四. 根据组件模板来创建Module模板

直接上图

image

组件创建好之后,需要做以下处理

  1. 添加组件启动Activity
  2. 添加组件Component实现IComponent接口,并实现两个方法 关于CC的用法,请查看CC使用说明
  3. 在宿主组件的build.gradle文件下添加
dependencies {
    addComponent 'login'
}

image

至此实现了简单吗组件化开发

源码地址: github.com/hanlin19900…

项目中用到的技术知识

感谢