Android Studio在应用模块上的最佳做法

时间:2016-05-14 18:39:16

标签: android android-studio module

我正在尝试理解Android上模块的概念。我读过this article on the official documentation,但我有点困惑。这是陈述:

  

Android应用程序模块是应用程序源代码,资源文件和应用程序级别设置的容器,例如模块级构建文件,资源文件和Android Manifest文件。应用程序模块内容最终内置到安装在设备上的.apk文件中。

这就是我在此发现的所有文档。我仍然不明白在哪些情况下创建不同的模块是有意义的。我知道它可能因情况而异,但理想情况下,模块的最小逻辑大小是多少?

一个实际的例子

我正在构建一个带抽屉视图的应用。抽屉的每个按钮都会打开一个片段,它会有一些逻辑。制作一个只包含片段和几个没有活动的java类的模块是否有意义?

我真的很想知道哪种方法最好。

谢谢。

1 个答案:

答案 0 :(得分:4)

将代码和资源分解为模块的最佳理由可能是可重用性。如果不是这种模块的多个依赖者,为什么你需要将这个代码分成一个模块呢?如果您只有一个应用程序,则不需要将此代码分解为模块。

只要您有多个应用程序共享相同的代码,我认为模块是合理的。一个模块可能是很多东西。它可以是包含大量代码的基本应用程序。它可以包含"模型"应用程序的方面,或者API或网络层。它可以是专有算法的容器。它可能是您计划开源的一些通用代码。谁知道?

从相反的角度考虑它。如果你真的不需要,现在这样做的风险是什么?也许精神开销?如果你没有充分的理由去做,那么不得不考虑和维护这个模块可能比它的价值更麻烦。

推迟这项决定的成本是多少?是否有任何令人信服的理由说明为什么此代码在以后的某个时间点无法从主应用程序重构为模块?

单个UI组件的单个片段小的东西听起来像是不需要在自己的模块中。