将项目拆分为模块

Luc*_*ges 0 android gradle android-studio

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

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

app (module)
- Application
- Activities
- Fragments
- Views
- Data
Run Code Online (Sandbox Code Playgroud)

活动和片段充当视图的控制器。我想做的是将所有内容分成以下内容:

app (module)
- Application
- Activities
- Fragments
dependencies {
    - ui
    - data
}

ui (module)
- Views

data (module)
- Data
Run Code Online (Sandbox Code Playgroud)

问题是app模块和data模块虽然很不一样,但是后端服务器端都依赖同一个第三方库。此外,活动和片段取决于数据模块。

将项目拆分为单独模块的良好做法是什么?在 Android/Android Studio/Gradle 中,是否可以有具有相同依赖项的不同模块?是否有可能有两个相互依赖的模块?

Han*_*ank 5

我之前在 Android 中从未做过,但是对于 Java 项目,我使用 gradle 将其拆分为多个模块。我认为它在Android中会类似。

对于常见的依赖项,在您的顶级build.gradle

allprojects {
    repositories {
        jcenter()
    }

    dependencies {
        // put common dependencies here
    }
}
Run Code Online (Sandbox Code Playgroud)

要让模块相互依赖,在模块中build.gradle

dependencies {
    compile project(':data')
}
Run Code Online (Sandbox Code Playgroud)

在您的 中settings.gradle,包含所有不同的模块:

include 'app'
include 'data'
Run Code Online (Sandbox Code Playgroud)