将项目拆分为模块

时间:2015-07-02 17:52:11

标签: android android-studio gradle

我一直在尝试根据类/包的职责将项目拆分为模块。但我似乎无法找到任何传统的架构来指导我。

基本上,我的课程分段如下

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中,是否可以使用具有相同依赖关系的不同模块?是否有可能让两个模块相互依赖?

1 个答案:

答案 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'