我一直在尝试根据类/包的职责将项目拆分为模块。但我似乎无法找到任何传统的架构来指导我。
基本上,我的课程分段如下
app (module)
- Application
- Activities
- Fragments
- Views
- Data
活动和碎片充当视图的控制器。我想做的是将所有内容分成以下内容:
app (module)
- Application
- Activities
- Fragments
dependencies {
- ui
- data
}
ui (module)
- Views
data (module)
- Data
问题在于,app模块和数据模块虽然非常不同,但也依赖于后端服务器端的相同第三方库。此外,活动和碎片取决于数据模块。
将项目拆分为单独的模块有哪些好的做法?在Android / Android Studio / Gradle中,是否可以使用具有相同依赖关系的不同模块?是否有可能让两个模块相互依赖?
答案 0 :(得分:4)
我之前从未在Android中完成过,但对于Java项目,我使用gradle将其拆分为多个模块。我认为它在Android中会类似。
对于常见的依赖关系,请在您的顶级build.gradle
:
allprojects {
repositories {
jcenter()
}
dependencies {
// put common dependencies here
}
}
让模块相互依赖,在模块build.gradle
:
dependencies {
compile project(':data')
}
在settings.gradle
中,包含所有不同的模块:
include 'app'
include 'data'