2012-08-27 132 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

相关问题