2015-10-06 89 views
0

我最近从iOS背景转移到了Android。我的用例如下。什么是在Android应用程序之间共享功能的理想方式?

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

所以,我想建立一个我自己的框架,其中API暴露在做服务器和数据库操作。现在,我可以在我的应用程序中导入这个框架并执行服务器/数据库操作。

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

+0

请检查@CommonsWare的安装程序。它会hep –

回答

2

如何类似的事情,在Android中实现?

创建和使用a library module

最初我在想服务,但如果我没有错,他们只针对一个应用程序,不能在不同的应用程序之间共享。

服务可以从一个应用程序被导出和其他应用中使用。

库是一个编译时构造。你在说你想在你的开发机器上找到一份代码,但是每个应用程序都包含了这些代码,并独立于其他应用程序使用它。

服务是运行时构造。在这里,你说的是你想要在给定设备上运行代码的一个副本,而其他应用程序应该与代码的一个运行副本进行交谈以执行各种操作。这大大增加了应用程序的复杂性以及它们之间的耦合,因此使用服务不是使用库的简单替代品。

+0

谢谢!我将继续使用库模块。看起来像我想要的东西。更简单,更易于维护。 – shshnk

1

你错了约Services,我在那里我在每个应用程序进行通信,以相同的Web服务器的情况。因此,我写了一个独立的服务应用程序,它将期望我的所有应用程序以Broadcast消息(取决于场景),而不是写在每个应用程序中相同的service。我通过ContentProvider将我的数据库暴露给service。所以我的service知道我的应用数据。我成功实现了这一点。你也可以使用库模块。您可知道,从这个link

更希望它给一些想法。

+0

谢谢!这对我来说也是一种选择。它如何处理来自不同应用程序的同一任务的同时呼叫?我想,库模块有一个优点。 – shshnk

+0

为了处理这个冲突,我使用了'IntentService' –

相关问题