将较小的应用程序集成到android上的较大应用程序

时间:2012-12-23 14:59:13

标签: android design-patterns plugins architecture integration

如果需求如下,那么将较小的Android应用程序包含在一个较大的应用程序中的正确方法是什么:

  1. 小应用程序应松散耦合,应单独开发
  2. 更大的应用程序应该处理一些常见的事情,而不是每个小应用程序自己做。
  3. 更大的应用程序现在应该关于小应用程序的状态,以便做出一些决定。
  4. 我想到的第一件事是某种插件模式(虽然我对它不太了解,所以我说错了),所以每个小应用程序应该实现一些通用的界面,并且大app在处理组件时应该使用该接口。

    这是正确的做法吗?

    考虑到android作为一个平台,这是正确的思维方式吗?

1 个答案:

答案 0 :(得分:3)

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

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

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

这意味着您无需担心编写插件界面等。

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

<强>更新

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

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

<强> UPDATE2

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

您在库中创建一个活动

  

com.example.myapp.library.MyActivity

然后您向清单添加详细信息

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

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

您还可以通过将清单更改为

来扩展库活动

<activity name="MyNewActivity">

然后创建一个新活动

  

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

然后只需覆盖您想要的内容,如果需要,可以调用 super 来访问您的库方法等。

随意提问。