简单的问题:什么时候必须使用 . in de Manifest 文件启动活动或其他类的名称,为什么?
提前感谢!
它相对于您在 Manfiest 中指定的包名称。
如果您的活动在 com.example.myActivityPackage
中,并且在清单中指定包是 com.example
,则您选择的名称是 .myActivityPackage.myActivityClass
。
同样,如果您有一个活动在 completely.separate.package
中,那么您必须将整个事情指定为 completely.separate.package.activityClass
。
在您的清单文件中只是 . 表示您的主包(即启动应用程序中的第一个活动),如果您的应用程序包含多个包,因此您必须为该类指定full package name . class name
。
> .
只是应用程序本身的包名称的快捷方式。当活动位于另一个文件包中时,需要使用完全限定名称。当活动位于同一文件包(或子文件包)中时,仍然可以使用完整的文件包名称,但.
更易于阅读。
如果活动名称中根本没有.
,则似乎某些版本的生成工具也会在应用包名称前面附加,但这与文档相反。
实现活动的类的名称,即 Activity 的子类。属性值应为完全限定的类名(如"
com.example.project.ExtracurricularActivity
")。但是,作为简写,如果名称的第一个字符是句点(例如,".ExtracurricularActivity
"),则会将其附加到<manifest>
元素中指定的包名称中。
但是,作为简写,如果名称的第一个字符是句点(例如".课外活动"),它被附加到 .
从 Android 源代码来看,句点表示活动存在于您的包中。