6
我有一個國家的公共交通應用程序,我想爲另一個國家創建一個單獨的應用程序。大多數代碼將被共享,但我需要一些類來實現不同的實現,例如TransitProvider。如何處理多個共享大約90%源代碼的Android應用程序?
是否可以使用Android Library Project共享代碼?我可以做以下嗎?
- 有無TransitProvider(擴展 AbstractTransitProvider)在 庫項目。該類具有未實現的方法。
- 在應用程序項目> AndroidManifest.xml中我有不同的包名稱比庫的清單。我在這個項目中也有TransitProvider,與圖書館的TransitProvider在同一個包中。
- 當我在庫項目代碼中使用TP時,從應用程序執行。項目應該被使用(即應用項目的TP覆蓋了圖書館的TP)。
感謝您的回答。大部分資源對於我的應用程序來說都很常見,因此我將使用庫項目。我需要從庫項目的Activity中做這樣的事情:'Journey result = new TransitProvider()。findJourney();'我怎樣才能確保應用程序項目的'TransitProvider'實現被使用? – fhucho 2010-10-21 13:53:22
@fhucho:「我怎樣才能確保使用應用程序項目的TransitProvider實現?」 - 只有一個名爲'TransitProvider'的類。在庫項目中沒有名爲'TransitProvider'的類。將通用代碼放置在庫項目(和/或其他實用程序類)中的'AbstractTransitProvider'中,並將應用程序項目中的'TransitProvider'中的自定義實現放入。 – CommonsWare 2010-10-21 14:08:51
但是,圖書館項目似乎並不瞭解位於應用程序項目中的TransitProvider。應用程序可以使用lib中的類,但不是我想的其他方法。 – fhucho 2010-10-21 14:21:29