如何在一个项目中合并两个应用程序?

时间:2019-03-16 00:02:14

标签: android

背景
我有两个android模块-一个项目中的A和B。
每个模块都有自己的布局

我要实现的目标
当我单击模块A中的按钮时,它将启动模块B中的主要活动并显示模块B的布局。

我尝试过的-不成功

  1. 在模块A中包括模块B
  2. 创建意图以开始模块B活动

问题
我该如何实现?有什么可能的方法?

ps:最后,我想要一个apk文件。

非常感谢您的时间和协助。

1 个答案:

答案 0 :(得分:0)

您需要通过使用Navigator类来连接其他模块。 导航器应该是访问模块内部活动的唯一方法。导航器是singleton class

您可以使用以下内容在库模块(在您的情况下为模块B)中创建Navigator类:

public class Navigator {
    private Navigator(){}

    public static Navigator getInstance() {
        return NavigatorHolder.INSTANCE;
    }

    private static class NavigatorHolder {
      private static final Navigator INSTANCE = new Navigator();
    }

    public void navigateToMainActivityB(Context context) {
      Intent intent = new Intent(context, MainActivity.class);
      context.startActivity(intent);
    }
}

然后您可以使用以下命令启动B模块的MainActivity:

Navigator.getInstance().navigateToMainActivityB(ModuleA_Activity.this);