2013-07-08 43 views
0

在Intent類here的android源代碼中,我注意到有兩個私有字段private String mPackageprivate ComponentName mComponent。但ComponentName已經有自己的字段private String mPackagehere。爲什麼我們在Intent類中有這樣的冗餘?或者兩個字段mPackage實際上有什麼不同?意圖類中包的冗餘

回答

0

這兩個包名在技術上有所不同。

當在Eclipse或Android Studio中創建一個新的Android項目時,新的項目嚮導使它就像只有一個包名稱,但實際上,它需要您提供的包名稱,並提供兩個相同的包名稱,一個應用程序包名和一個類包。

換句話說,輸入包名稱com.example.myapplication到新項目嚮導,並將得到的類將位於/com/example/myapplication/com/example/myapplication/MainActivity.class

(明知會讓你更容易從不同的調用它作爲一個明確的意圖應用程序)

當然,沒有任何說你不能改變類包名或者添加新的類包名,同時保持原始應用程序包的名稱與原來的名稱相同,那麼你最終可能會例如像這樣的位置:

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