在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):Dawish/GoogleArchitectureDemo开源软件地址(OpenSource Url):https://github.com/Dawish/GoogleArchitectureDemo开源编程语言(OpenSource Language):Java 100.0%开源软件介绍(OpenSource Introduction):GoogleArchitectureDemo谷歌最新MVVM架构,基于dataBinding、lifecycle、retrofit2、rxjava2、okhttp、fresco。 两个定制app的首页UI图:
一、MVVM架构优势《两张图看懂Android开发中MVC与MVP的区别》 前面两张图真是了MVC和MVP的区别,我这里也来一张图看看MVVM: 看上图 MVVM优势总结:
二、MVVM组件化示例项目架构分析下图是项目模块和工程之间的依赖关系: 下图是工程Android Studio中的目录结构: 3.1 各模块和彼此之间的关系解释:
3.2 ARouter串联各个模块使用 ARouter典型应用
3.3 组件化编译和非组件化编译切换我们在工程根目录下的 # 每次更改“isModule”的值后,需要点击 "Sync Project" 按钮
# isModule是“集成开发模式”和“组件开发模式”的切换开关
isModule=false 然后在 if (isModule.toBoolean()) {
//组件化编译时为application
apply plugin: 'com.android.application'
} else {
//非组件化编译时为library
apply plugin: 'com.android.library'
}
android {
compileSdkVersion build_versions.target_sdk
buildToolsVersion build_versions.build_tools
defaultConfig {
minSdkVersion build_versions.min_sdk
targetSdkVersion build_versions.target_sdk
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
//ARouter
javaCompileOptions {
annotationProcessorOptions {
arguments = [moduleName: project.getName()]
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dataBinding {
enabled = true
}
lintOptions {
abortOnError false
}
sourceSets {
main {
if (isModule.toBoolean()) {
//组件化编译时为app,在对应的AndroidManifest文件中需要写ndroid.intent.action.MAIN入口Activity
manifest.srcFile 'src/main/module/AndroidManifest.xml'
} else {
manifest.srcFile 'src/main/AndroidManifest.xml'
//集成开发模式下排除debug文件夹中的所有Java文件
java {
//debug文件夹中放的是Application类,非组件化时不用有此类
exclude 'debug/**'
}
}
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
api project(':lib_coremodel')
api project(':lib_common')
implementation 'com.android.support:support-v4:26.1.0'
annotationProcessor deps.arouter.compiler
}
上面看到了组件化和非组件化编译会有不用的
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论