2015-05-25 58 views
0

我有3個android項目,他們有不同的功能。每個項目都有自己的mainActivity類。 現在我想將3個項目合併爲一個。我可以想出兩種方法來做到這一點。第一種方法:打開3個項目中的一個,然後創建新的java類和xml文件,並複製其他2個項目中的所有java類和xml內容。但是,每個項目都有自己的mainActivity類。我不知道是否應該只保留一個mainActivity類,並重命名其他2個項目的其他2個mainActivity類。看起來很容易遇到大量的錯誤和混亂。是否有可能調用另一個項目的mainActivity類?

第二種方式:使用3個按鈕。 onclick第一個按鈕,然後運行項目1的mainActivity類。點擊第二個按鈕,然後項目2的mainActivity類將運行。點擊第三個按鈕,然後運行項目3的mainActivity類。但是,我不知道是否有可能這樣做。如果是的話,我該怎麼做?我知道如何點擊一個按鈕進入一個新的活動,但是這同樣適用於onclick去其他項目的mainActivity?

我更喜歡第二種方法,如果可以的話。誰能幫忙?請指教,謝謝。

+0

你可以讓他們在:

<activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="com.example.action.MYACTION" /> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity> 

您可以通過隱含的意圖,只要應用程序已經安裝在設備上調用它如果你想要的話,還有三個子包。 :)這將需要更少的重構。 –

回答

0

這認爲這是不可能的,你需要導入1個項目中的所有功能... 你不能用一個按鈕打開其他項目,你需要導入你需要的全局項目中的類和活動或創建一個新班級,但你不能打電話給其他項目。祝你好運!

+0

你的意思是我應該考慮第一種方式而不是第二種方式?如果是這種情況,我應該只保留一個mainActivity類,並重命名其他2個項目的其他2個mainActivity類?或者我只是將其他2個項目的mainActivity類中的所有內容放入第一個項目的mainActivity類中? –

+0

是的第一種方式,它是一個很好的解決方案,事情是,如果你需要在一個應用程序中的3個項目的代碼,那麼你需要把所有的代碼放在一個項目中,但是複製代碼是一個不好的方法,好的方法是從其他項目和重命名這些類是導入。您需要將此視爲一個項目 - 一個應用程序,不同的項目 - 不同的應用程序。祝你好運! –

+0

請記住驗證正確的答案,謝謝。 –

-1

如果您添加自定義操作,以你的活動:

Intent i = new Intent("com.example.action.MYACTION"); 
startActivity(i); 
相關問題