intent类中的包冗余

时间:2013-07-08 10:39:05

标签: android android-intent package

在Intent类here的android源代码中,我注意到有两个私有字段,即private String mPackageprivate ComponentName mComponent。但是,ComponentName已有自己的字段private String mPackage here。为什么我们在Intent类中有这种冗余?或者两个具有相同名称mPackage的字段实际上是不同的?

1 个答案:

答案 0 :(得分:0)

这两个包名在技术上是不同的。

在Eclipse或Android Studio中创建新的Android项目时,新的项目向导会让它像只有一个包名,但实际上,它会获取您提供的包名称并生成两个相同的包名称。它,一个应用程序的包名称和一个类的包。

换句话说,在新项目向导中输入包名com.example.myapplication,结果类将位于/com/example/myapplication/com/example/myapplication/MainActivity.class

(知道这将使您更容易将其称为来自不同应用程序的明确意图)

当然,没有什么说你不能改变类包名,或添加新的类包名,同时保持原始应用程序包名称与原始包名称相同,那么,你可能最终得到一个位置比如这个:

/com/example/myapplication/com/newcompanyname/newconcept/MainActivity.class