2011-07-13 64 views

回答

2

有很多方法。最常見的是隻安裝另一個應用程序並通過Intent訪問它。這絕對值得看看Open Intents。如果你真的冒險,你甚至可以加載自定義插件DexClassLoader

+0

謝謝您的回答。 – stillLearning

2

恕我直言,以簡潔地實現這一目標的唯一方法是使用Android的內置的可擴展性,即通過使用意圖和/或BroadcastReceivers。這是Android應用程序應該相互溝通的方式,但它也可以爲您自己的應用程序完美工作,方法是創建一個主要版本,通過可以從市場中單獨下載的「插件」通過Intents進行擴展。

你需要了解和尋找在網絡上實現這樣的功能的東西

  • Intents:你可以學習如何使用意圖從一個應用程序的數據傳遞到另一個或調用某些其他應用程序的功能。
  • BroadcastReceiver:對於在聽取您的應用程序在你的「插件」
  • ContentProvider廣播某些事件:內容提供者用來在你的數據提供了一個抽象,允許你的「插件」通過Content URI輕鬆訪問您的應用數據並很好地解耦。
  • Intent Filters:這些用於告訴系統我的特定活動能夠接受哪種行爲/意向。您將需要它們作爲調用插件的方式(通過廣播具有給定操作/類別的Intent)以及在菜單中提供「兼容」意圖可以自動掛接的空間。

我希望我能夠爲您提供一些您需要了解的主題。我相信,一旦你對這些有了更深入的瞭解,你將會更清楚地瞭解如何實現這樣的模塊化應用程序。

+0

感謝您的回答。兩種答案在技術上都是一樣的,儘管你的回答更多描述,但我接受了之前的答案。 – stillLearning