android - 将项目拆分为模块

标签 android android-studio gradle

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

基本上,我的类(class)分割如下

app (module)
- Application
- Activities
- Fragments
- Views
- Data

Activity 和 fragment 充当 View 的 Controller 。我想做的是将所有内容拆分为:
app (module)
- Application
- Activities
- Fragments
dependencies {
    - ui
    - data
}

ui (module)
- Views

data (module)
- Data

问题在于,app 模块和 data 模块虽然有很大不同,但后端服务器端也依赖于相同的第三方库。此外, Activity 和 fragment 依赖于数据模块。

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

最佳答案

我以前从未在 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'

关于android - 将项目拆分为模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31191371/

相关文章:

Android - 在 invalidate() 上重绘后的监听器

android - 如何在 Android 中的 Firebase Auth 中使用多个帐户?

android - 在 Android Studio 中更改项目的 "buildToolsVersion"时出错

android - 如何解决 Cannot load project : java. lang.RuntimeException : java. io.EOFException while opening previous projects

Android SDK 未构建

java - Windows 上的 Gradle flatdir 获取 : Could not find property 'url'

Android:如何使用 VirtualDisplay 在 WallpaperService 中托管 WebView?

java - 在 Java 中生成 PHP "POST"语句的正确方法 (Android-Studio)

java - 如何检查Java,Maven,Gradle的版本

java - 此标记后预期的标记变量 declaratorid 语法错误