2015-10-06 90 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' –

相關問題