2011-04-21 15 views
5

所以...我試圖爲我的一個應用程序創建一個插件。這個插件需要幾個視圖,圖像,一個活動和一個CharSequences解析器......理想情況下,這個插件可以從Android Market下載。如何創建一個視圖,活動和對象的Android插件

我明白如何創建一個庫,但這需要包含在應用程序中。

我明白如何創建一個應用程序作爲服務,只是通過意圖調用它,但我需要直接訪問既不可訪問也不可序列化的對象和代碼。

我一直在看的是eyes-free TTS。在他們的實現中,開發人員在他們的應用程序中包含一個小的TTS_library_stub.jar文件,看起來它定義了許多必需的類/對象。

所以我的問題是,我將如何去構建這樣的東西,並生成這個「存根」.jar文件,這將包括在我的應用程序?我一直試圖通過TTS代碼工作,但這是一個龐大的代碼庫,我無法找到所需的東西。

任何幫助,將大規模感激:)

回答

0

如果你想使用Android庫從市場上下載的,它必須是獨立的Android應用程序。 (不是android庫項目!)。然後你可以將它上傳到市場,下載到手機並通過意圖(這個庫可以處理)或服務(aidl)或提供者(來自庫的數據)以及可能的接收者與它通信,但是我從來沒有以這種方式使用它。

2

服務和應用程序需要在清單中具有相同的sharedUserId並使用相同的密鑰進行簽名。然後,應用程序和服務可以共享彼此的資源,類加載器,甚至可以在同一個線程上運行。我從來沒有在服務中包含GUI的一部分,所以也許這是一個限制...不確定。

如果有限制,您必須能夠解決該問題。看看OpenIntents。它是開源的,它是一項服務,你可以從市場下載。它爲任何使用其意圖的應用程序提供了一個GUI文件瀏覽器。

沒有完全理解你需要什麼,但認爲這可能有幫助。

+0

這更符合我的想法。但由於這是一個100個指針,我正在尋找一些更具體的具體例子。 – Ben 2012-02-07 06:06:07

+0

這就是我所有的時間。如果你願意,你可以獎勵賞金的一部分。您還可以查看具體示例中提到的源代碼。 – corbin 2012-02-08 19:50:47

0

如果你想爲OSGi環境設計你的應用,比如apache felix,那麼可能在運行時加載庫。
their presentation他們描述了整個概念是如何工作的。 由於只有APK可以在Android市場共享,因此您需要編寫自己的「更新機制」來下載您的OSGi包(您的插件)並將它們部署到felix。

相關問題