Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android多应用程序:如何在一个项目中创建两个应用程序?_Java_Android_Android Activity - Fatal编程技术网

Java Android多应用程序:如何在一个项目中创建两个应用程序?

Java Android多应用程序:如何在一个项目中创建两个应用程序?,java,android,android-activity,Java,Android,Android Activity,例如,我有一个几乎完成了身份验证的Java应用程序,需要向该项目添加另一个应用程序以重用身份验证代码 我听说可能会有两种不同图标的“主要活动”来分别启动它们。我也不能检查这个信息,因为我不知道这个名字和之前的任何尝试是如何引导我的 所以问题是如何在清单中注册这些活动,以及如何配置运行菜单? 或者,如果我错了,还有什么其他方式可以满足我的要求 谢谢。 < P>你应该考虑使用你的应用程序的口味。这允许您为每种口味设置不同的应用程序名称、图标和代码 以下是在主模块的build.gradle中定义两种风

例如,我有一个几乎完成了身份验证的Java应用程序,需要向该项目添加另一个应用程序以重用身份验证代码

我听说可能会有两种不同图标的“主要活动”来分别启动它们。我也不能检查这个信息,因为我不知道这个名字和之前的任何尝试是如何引导我的

所以问题是如何在
清单
中注册这些活动,以及如何配置
运行
菜单? 或者,如果我错了,还有什么其他方式可以满足我的要求


谢谢。

< P>你应该考虑使用你的应用程序的口味。这允许您为每种口味设置不同的应用程序名称、图标和代码

以下是在主模块的build.gradle中定义两种风格的示例:

buildTypes {
        debug{...}
        release{...}
    }
    // Specifies one flavor dimension.
    flavorDimensions "main"

productFlavors {
        demo {
            // Assigns this product flavor to the "main" flavor dimension.
            // If you are using only one dimension, this property is optional,
            // and the plugin automatically assigns all the module's flavors to
            // that dimension.
            dimension "main"
            applicationId "com.appdemo"
            versionNameSuffix "-demo"
        }
        full {
            dimension "main"
            applicationId "com.appfull"
            versionNameSuffix "-full"
        }
    }

然后,您可以通过覆盖每个flavor子目录(即yourmodule/demo/和yourmodule/full/)中的默认文件来设置每个应用程序的资源(图像、代码、字符串…),基本上需要使用活动创建两个入口点并在其中添加图标

所以把这个放在这里以防万一

    <activity android:name=".MainActivity_1"
        android:icon="@mipmap/icon_1">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

    <activity android:name=".MainActivity_2"
        android:icon="@mipmap/icon_2">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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


您是否考虑过为每个应用程序使用不同的风格?@matdev如果您指的是不同的构建依赖项-不,它们将是相同的。几乎)但应用程序当然会有不同的名称。如果我没有回答你的问题,请重新解释。使用flavors是指在build.gradle中的productFlavors{}部分下声明不同的应用程序风格。这允许您为每个应用程序设置不同的应用程序名称、图标、代码等。不,我还没有考虑过用香料。有必要吗?我想你应该。检查我的回答让我们假设这两种风格必须使用不同的API进行通信,并且它们的功能有所不同。这是否意味着您的整个代码几乎到处都应该有if/else?味道从来没有引起我的注意。你对此有什么看法?不,你不需要到处都是if/else。例如,您可以将对API的调用封装在一个flavor重写类中,并将一个公共接口公开给这两个flavor所共有的代码。