項目簡介
- 項目整體架構(gòu)模式采用:組件化+MVP+Rx+Retrofit
- 項目構(gòu)成:app殼工程 女蜈,一個業(yè)務組件,一個公共基礎組件
- 組件化基礎架構(gòu)實例工程
項目運行
- 運行環(huán)境要求
- Android studio 版本需要在3.4之上穴翩,compileSdkVersion是29例诀,gradle版本是3.2.1片效,gradle-wrapper是5.4.1橙数,jdk是1.8(支持Lambda表達式) ,androidx 開發(fā)
- 組件模式和集成模式如何切換
- 默認模式下虐杯,都是屬于library形式的組件【app作為空殼主工程依賴所有的組件】玛歌,如果想把某一個library形式的組件切換成一個獨立可以run的application,通過修改hhe.gradle
isBusinessApplication = true //業(yè)務測試組件擎椰,false:作為Lib組件存在沾鳄, true:作為application存在
項目架構(gòu)及新增組件
- 組件化架構(gòu)圖
- 主工程:
- 除了一些全局配置和主 Activity 之外,不包含任何業(yè)務代碼确憨。有的也叫做空殼app
- 業(yè)務組件:
最上層的業(yè)務译荞,每個組件表示一條完整的業(yè)務線,彼此之間互相獨立休弃。
項目寫了個測試組件吞歼,以后根據(jù)計劃業(yè)務組件可以新增進來,這個目前擬定的業(yè)務組件 - 功能組件:
功能組件目前的擬定:分享組件塔猾,支付組件篙骡,ui快速開發(fā)組件等等。同時注意丈甸,可能會涉及多個業(yè)務組件對某個功能組件進行依賴糯俗!
基礎組件: - 支撐上層業(yè)務組件運行的基礎業(yè)務服務。
在基礎組件庫中主要有睦擂,網(wǎng)絡請求得湘,圖片加載,通信機制顿仇,工具類淘正,UI快速開發(fā)組件,等等臼闻。一些公共第三方庫放到了這個基礎組件鸿吆。
- 如何新增組件:
- 組件名稱:hhe-業(yè)務名稱 (如:支付組件 hhe-pay),布局文件:業(yè)務名稱+布局名稱 (pay_activity_center)述呐,資源文件:業(yè)務名稱+圖片名稱 (pay_icon_submit)
- 在Android Studio中新建module
二選一:Phone & Tablet Module 或 Android Library
- 配置基礎依賴 ARouter路由 惩淳,公共基礎模塊
android {
defaultConfig {
javaCompileOptions {
annotationProcessorOptions {
arguments = [AROUTER_MODULE_NAME: project.getName()]
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation project(path: ':hhe-common-library')
annotationProcessor rootProject.ext.dependencies["router-compiler"]
annotationProcessor rootProject.ext.dependencies["butterknifecompiler"]
}
- 在hhe.gradle 文件新增組件開關(guān),用于組件模式和集成模式切換
如果不需要單獨運行 可以跳過以下步驟
isBusinessApplication = true //業(yè)務測試組件乓搬,false:作為Lib組件存在思犁, true:作為application存在
- 修改業(yè)務組件的gradle
if (rootProject.ext.isBusinessApplication) {
apply plugin: 'com.android.application'
} else {
apply plugin: 'com.android.library'
}
android {
defaultConfig {
if (rootProject.ext.isBusinessApplication){
applicationId "com.hhe.business"
}
}
- 新增AndroidManifest
將Android Studio的導航切換到"Project"模式
在module/src/main文件夾上點右鍵 -> 新建Directory,并命名為module
把business里androidManifest 復制進來 缤谎,配置需要注冊文件
在業(yè)務的gradle 添加
android{
sourceSets {
main {
if (rootProject.ext.isBusinessApplication) {
manifest.srcFile 'src/main/module/AndroidManifest.xml'
} else {
manifest.srcFile 'src/main/AndroidManifest.xml'
}
}
}