【问题标题】:Android multi project app structureAndroid多项目app结构
【发布时间】:2014-11-25 17:44:54
【问题描述】:

我想知道将应用程序分成多个独立部分的最佳方法(如果可能的话)是什么。 例如,如果你有 3 个独立的单元做不同的事情,并且你可能有 2 个不同的应用程序组合了 2/3 的这些部分,你会怎么做?

我来自 windows 背景,在 Visual Studio 中,您可以在一个解决方案下拥有多个独立项目,然后您可以在需要的地方重复使用它们。

你能在android中拥有这个吗?我知道我可以把东西放在不同的包下,但不确定如何分离资源。

为此目的使用 Eclipse 或 Android Studio 有什么区别吗?

任何指导或资源都会非常有帮助:)

【问题讨论】:

  • 抱歉延迟反馈..所有三个答案都对我有帮助,而且我从他们每个人那里都学到了新东西,所以我对所有三个答案都投了赞成票。

标签: java android eclipse design-patterns reusability


【解决方案1】:

您可以为应用程序的不同部分构建 android-libraries (.aar),并将所有不同部分捆绑到一个主项目中,从而将 .aar 中的所有内容简单地组装到一个应用程序中。

【讨论】:

    【解决方案2】:

    Gradle(Android Studio 默认构建系统)中有一个名为build flavors 的功能。它可以让您设置给定的build flavour(包)将使用哪些类/资源文件。您可能想看看它,因为它与我认为您想要做的非常接近。

    这是good tutorial。这是official explanation

    【讨论】:

      【解决方案3】:

      关于坚持基本原则有很多话要说。以下是一些我认为可能有助于记住的广泛概念。

      隐式意图

      在 Android 中,您可以使用所谓的 Implicit Intents,这实际上意味着您可以让您的应用说“我需要可以为我做这件事的东西”,并且 Android 操作系统会寻找可以完成任务的应用你。使用隐式意图和意图过滤器,您可以创建多个单独的应用程序来完成解决方案范围内的每项任务。这样,每个应用程序都可以完成您的解决方案的一部分,并且仍然可以独立工作。

      片段

      Fragments 是可重复使用的 UI 组件,可以随意插入到您的活动中。创建一个,keep 是松耦合的,您可以在整个应用程序和您以后创建的任何其他应用程序中重复使用它。

      良好的面向对象设计

      关于简单、良好的面向对象设计有很多话要说。通过使您的程序逻辑远离您在单独类中的活动(并使这些类保持高度内聚和非常松散耦合),它们可以很容易地重用/重新组合到其他软件/应用程序中。

      虽然上面的内容相当广泛。公平地说,只要保持简单,您就应该能够在任何您需要的新应用程序中重用代码。

      我希望这会有所帮助。

      参考资料:

      【讨论】:

      • 感谢您的回答,这很有帮助,但我会接受 pdegand59 的回答,因为这是我正在寻找的(也是分离资源的方法)。
      猜你喜欢
      • 2010-09-08
      • 1970-01-01
      • 2017-09-23
      • 2011-07-28
      • 2013-06-30
      • 2016-06-07
      • 2011-05-31
      • 1970-01-01
      • 2020-01-16
      相关资源
      最近更新 更多