基於CC的Android MVVM 元件化實現

小碼農沐楓發表於2018-12-29

基於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…

專案中用到的技術知識

感謝

相關文章