2012-08-27 177 views
2

我做了三個應用程序,這是我現在想要一個apk文件(一個安裝)出貨。在啓動「包裝應用程序」時,用戶應該決定運行哪個應用程序。多個應用程序文件在一個Android應用程序

到目前爲止,一切都很好,但問題是,每一個應用程序使用全局常量從應用程序文件。有沒有辦法將三個應用程序合併爲一個,每個應用程序使用自己的應用程序文件?

謝謝!

爲了避免混淆我添加短例如:

應用1:

public class AApplication extends Application { 
    public static String CONSTANT_1 = "aaa"; 
} 

應用2:

public class BApplication extends Application { 
public static String CONSTANT_1 = "bbb"; 
} 

應用3:

public class CApplication extends Application { 
    public static String CONSTANT_1 = "ccc"; 
} 
+0

請描述你想要達到的目的。爲什麼3個應用爲什麼不是一個? – Simon

+0

三個應用程序,因爲它們都是基於同一個庫項目 - 相同的代碼庫和他們正在做的幾乎是相同的,但看differetnt。 – Elias

回答

2

好吧,因爲我腦袋的想法顯然是不實現的,我想出了以下解決方法:

  1. 我在新項目

    public class NewApplication extends OldSuperApplication {} 
    
  2. 創建Apllication類

    我加了一個方法

    public static void setApplication(RGCApplication a) { 
        CONSTANT_1 = a.CONSTANT_1; 
        ... 
    } 
    
  3. 選擇所需的「子應用程序」o n的這種情況下,應用程序啓動畫面「A」我叫

    NewApplication.setApplication(new AApplication()); 
    

    NewApplication.setApplication(new BApplication()); 
    

我不知道這是否是臭編碼或不是,但它的作品!

1

大概要三個可以啓動的活動高等教育委員會。添加在清單是這樣的:

<activity 
     android:name=".Activityone" 
     android:label="First Activity" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
</activity> 

<activity 
     android:name=".Activitysecond" 
     android:label="Second Activity" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
</activity> 

<activity 
     android:name=".Activitythree" 
     android:label="Third Activity" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
</activity> 

這樣用戶圖標(活動)點擊。

+0

感謝您的回答朱塞佩,但是這不是在我所期待的。每個應用程序都由多個活動組成。但問題是應用程序類。每個應用程序使用應用程序類中定義的多個常量。 contstatns的名稱是相同的(這就是爲什麼我不能將它們放入一個應用程序文件),但值是不同的。 – Elias

+0

您的應用程序類可以與三個活動共享。如果它們是恆定的,則使其成爲靜態,並且可以輕鬆地檢索它們。 – Giuseppe

+0

但我有三個應用程序類具有不同的常量,具有相同的名稱,但每個類的值不同。例如。公共靜態字符串CONSTANT_1 =「aaa」;在下一個應用程序類中,同一個常量的值爲「bbb」,第三個類中的值爲「ccc」...我需要將三個應用程序與三個不同應用程序類合併爲一個的能力... – Elias

0

不能整合3不同APK和其相應的代碼庫由單一APK運行,無論是在集成單個應用程序的所有3的代碼庫和把所有3個作爲不同的模塊由用戶根據選擇來運行。

+0

「所有3個不同的模塊」是什麼意思? – Elias

+0

java概念模塊,實現任何特定功能的clubbed源代碼 – Zoombie

+0

感謝您的回答,但我認爲這是一個Android特定問題,我必須找到一個解決方案,將三個不同的Application類帶入一個Android項目。正如在下面的評論中提到的,每個Android項目都有一個Application類(單例),而我 - 因爲最初每個應用程序都是獨立的 - 有三個applicatin類,其中每個Aplication類的常量具有相同的名稱但值不同。 – Elias

相關問題