【问题标题】:Integration of smaller apps into bigger one on android在 android 上将较小的应用程序集成到较大的应用程序中
【发布时间】:2012-12-23 14:59:13
【问题描述】:

如果要求如下,将较小的 Android 应用程序包含到一个更大的应用程序中的正确方法是:

  1. 小应用应该是松耦合的,应该单独开发
  2. 更大的应用程序应该处理一些常见的事情,而不是每个小应用程序自己做。
  3. 更大的应用程序现在应该对小应用程序的状态有所了解,以便做出一些决定。

我首先想到的是某种插件模式(虽然我不太了解,所以我可能会说错话),这样每个小应用程序都应该实现一些通用接口,而大应用程序在处理组件时应该使用该接口。

这是正确的方法吗?

将 android 视为一个平台,这是正确的思维方式吗?

【问题讨论】:

    标签: android design-patterns plugins architecture integration


    【解决方案1】:

    最好的办法是让每个子应用程序成为“库”。您在 Eclipse 中创建一个工作区并创建一个新的 Android 项目并将其标记为库。

    您对每个子应用都这样做。

    然后您有一个非库应用程序,它导入每个库并将每个库用作完整应用程序的一部分。

    这意味着您无需担心编写插件接口等。

    此外,如果您遵循这种模式,当您创建免费与付费应用程序时,您可以添加另一个应用程序并删除/更改所有需要的功能,并从相同的代码库编译两者。

    更新

    查看http://developer.android.com/tools/projects/projects-eclipse.html 以获得一些不错的文档。

    这显示了如何创建这两种类型的项目以及如何在清单中引用它们,这是令人讨厌的部分。

    更新2

    cmets 询问您是否可以在导入库的主应用程序中使用库 Activity。

    您在库中创建一个 Activity

    com.example.myapp.library.MyActivity

    然后您将详细信息添加到清单中

    <activity name="com.example.myapp.library.MyActivity">

    然后让你在那里使用它。如果需要,您甚至可以使用库 Activity 作为您的主要启动 Activity。

    您还可以通过将清单更改为来扩展库 Activity

    <activity name="MyNewActivity">

    然后创建一个新的活动

    类 MyNewActivity 扩展了 com.example.myapp.library.MyActivity

    然后只需覆盖你想要的,如果需要,调用 super 来访问你的库方法,等等。

    欢迎提问。

    【讨论】:

    • 谢谢柯克,如果图书馆项目包含用户界面元素,如活动,我可以制作它吗?我主要关心的是如何处理由其他开发人员开发和维护的当前应用程序以及未来的应用程序?
    • 你当然可以。我会尝试稍微更新一下答案,但您在主应用清单中引用它们并使用它们
    猜你喜欢
    • 1970-01-01
    • 2013-02-18
    • 2012-02-23
    • 1970-01-01
    • 2012-11-10
    • 2011-06-29
    • 1970-01-01
    • 2017-12-25
    • 1970-01-01
    相关资源
    最近更新 更多