Android清单文件中的抽象活动

5

为了我的应用程序,我将创建一些抽象类,这些抽象类扩展了android.app.Activity和android.app.Service类。

  • 当我子类化我的抽象类时,如何将它们添加到android清单中?
  • 我需要将抽象类和子类都添加到清单中吗,还是只需要添加子类?
  • 它们需要在同一个包中吗?
3个回答

9
您可以将最终的子类作为常规的Activity/Service添加到清单中;由于清单只是一个查找表,以便系统知道响应Intent时要启动哪个类,所以抽象类不需要在其中。
如果您所说的“package”是指Java包(例如com.mycompany.whatever),那么不需要,只需在创建子类时添加相关的导入(或使用完全限定名称)即可。
如果您所说的“package”是指APK,则是,抽象基类应与常规代码一起放入其中,因为虽然可以在APK之间进行调用,但这**需要您可以实例化的类。如果它们会被重复使用,您可以将抽象类拆分成Android库项目 - Android库项目本质上是共享源代码,而不是传统的Java jar。
如果您需要更多关于此内容的详细信息,请告诉我,因为这是一个比较广泛的问题,我想保持答案的可管理性。

2

只需包含您将使用Intent实例化的Activity类。如果您的抽象类仅存在于子类化其他Activities中,则不需要在清单中包含它。


1

您可以像添加其他Activity/Service/BroadcastReciever一样将子类添加到清单中。您不必将抽象类添加到清单中。如果您导入父类的包,则子类不必与其父类在同一个包中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接