2012-12-23 39 views
2

更大的一個會是什麼,包括較小的Android應用程序的正確方法,爲一個,如果要求如下更大:整合小應用程序到Android上

  1. 小應用程序應該是鬆耦合的,應單獨開發
  2. 更大的應用程序應該處理一些常見的事情,而不是每個小應用程序自己做。
  3. 更大的應用程序現在應該關於小應用程序的狀態,以便做出一些決定。

是進入我腦海的第一件事是某種插件模式(雖然我不很瞭解,所以我可以說一些錯誤),使每個小應用程序應該實現一些常用的接口,而大型應用程序在處理組件時應該使用該接口。

這是正確的做法嗎?

考慮到android作爲一個平臺,這種思維方式是否正確?

回答

3

最好的辦法是讓每個子應用程序成爲一個「庫」。您可以在Eclipse中創建一個工作區並創建一個新的Android項目並將其標記爲一個庫。

您可以爲每個子應用程序執行此操作。

然後,您將有一個非庫應用程序,它導入每個庫並將其作爲完整應用程序的一部分使用。

這意味着你不必擔心編寫插件接口等

而且如果按照這種模式,當你創建一個免費與付費應用程序,您可以添加另一應用程序和刪除/更改功能,因爲它們都需要從相同的代碼庫進行編譯。

更新

看看http://developer.android.com/tools/projects/projects-eclipse.html一些體面的文件。

這顯示瞭如何創建兩種類型的項目以及如何在清單中引用它們,這是令人討厭的部分。

UPDATE2

從評論有人問,如果你可以在導入庫中的主應用程序中使用庫活動。

你在圖書館創建活動

com.example.myapp.library.MyActivity

然後添加細節,以您的清單

<activity name="com.example.myapp.library.MyActivity">

這就讓你在那裏使用它。如果這是您需要的,您甚至可以使用庫Activity作爲您的主要啓動Activity。

您可以通過更改您的清單,以

<activity name="MyNewActivity">

還擴展庫活動然後創建一個新的活動

類MyNewActivity擴展com.example.myapp.library.MyActivity

然後只是覆蓋你想要的,請致電超級如果需要訪問您的圖書館方法等。

隨意提問。

+0

謝謝柯克,如果它包含用戶界面元素,比如活動,我可以創建庫項目嗎?我主要關心的是如何處理當前的應用程序,由其他開發人員開發和維護,以及未來的應用程序? – daneejela

+0

你當然可以。我會嘗試稍微更新一下這個答案,但是你在主應用程序清單中引用它們並使用它們 – Kirk