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