什么是在Android中的应用程序之间共享功能的理想方式?

时间:2015-10-06 13:33:43

标签: android

我最近已从iOS背景转移到Android。我的用例如下。

我想构建一套应用程序。每个应用程序都需要进行服务器调用或执行数据库操作我不想在我的每个应用程序中编写代码来执行这些操作。

所以,我想构建一个我自己的框架,它具有API,可以进行服务器和数据库操作。现在,我可以在我的应用程序中导入此框架并执行服务器/数据库操作。

在iOS中,这可以通过构建静态库来实现。如何才能在Android中实现类似的功能? 最初我在考虑服务,但如果我没有错,它们只针对某个应用程序,不能在不同的应用程序之间共享。

2 个答案:

答案 0 :(得分:2)

  

如何在Android中实现类似的功能?

创建并使用a library module

  

最初我在考虑服务但是如果我没有错,它们只针对某个应用程序,不能在不同的应用程序之间共享。

服务可以从一个应用程序导出并由其他应用程序使用。

库是一个编译时构造。您说您希望开发计算机上有一个代码副本,但每个应用程序都包含该代码并独立于其他应用程序使用它。

服务是运行时构造。在这里,您要说的是您希望在给定设备上运行代码的一个副本,并且其他应用程序应该与该代码的一个运行副本进行通信以执行各种操作。这个极大会增加应用程序的复杂性以及它们之间的耦合,因此使用服务并不是使用库的简单替代。

答案 1 :(得分:1)

你对Services错了,我有一个场景,我在每个应用程序中与同一个Web服务器进行通信。

因此,我没有在每个应用程序中编写相同的service,而是编写了一个独立的服务应用程序,期望我的所有应用程序都Broadcast发送一条消息(取决于方案)。我通过service将我的数据库公开到ContentProvider。所以我的service知道我的申请数据。我成功实现了这一目标您也可以使用库模块。您可以从link

了解更多信息

希望它能给出一些想法。