Android 即时应用设计

Android Instant app design

我正在开发一个 android 应用程序,我也在其中使用免安装应用程序功能。在主要功能模块中,我有一个导航抽屉,其中几乎没有导航视图项。

  1. 电视
  2. 电影
  3. 搜索

当用户点击电视项目时,它将打开具有标签布局的片段。

  1. 热门
  2. 热门
  3. 已观看

我必须在设计应用程序时牢记它也应该支持即时应用程序功能。如果用户请求电视,那么它应该只下载电视模块。

我已经创建了一个应用程序、基础、即时应用程序、主要模块。我在主模块中创建了启动器 activity 并设置了应用程序 NavigationDrawer。我正在考虑为电视创建另一个模块,它将有 tablayout a) 趋势 b) 流行 c) 观看(片段)

AndroidManifest.xml(主模块)

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.main">

    <application>
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter android:order="1">
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.DEFAULT" />

                <data android:host="example.com" />
                <data android:pathPattern="/main" />
                <data android:scheme="https" />
                <data android:scheme="http" />

            </intent-filter>
        </activity>
    </application>

</manifest>

根据免安装应用程序的概念,我在基础模块中保留了样式、可绘制对象、布局和服务等常见内容以及一些活动。

由于电视模块仅包含选项卡布局,因此它只会包含片段 - 热门、热门、已观看。

有谁知道如何为电视功能模块设置不同的 URL,以便它可以使用不同的地址访问,例如 https://www.example.com/tv?如果我在主模块中做所有这些事情,那么即时应用程序功能概念将失败。

我是即时应用程序的新手,不知道我在这里使用的方法是否正确。如果有经验的人可以帮助我,我将不胜感激。

每个功能 apk 都需要有一个 activity 作为可 URL 寻址的入口点。考虑到这一点,电视功能模块 中需要包含一个 TvActivity。此 activity 可以包含加载不同电视中心片段的选项卡布局。

电视功能模块中的 AndroidManifest.xml 文件类似于:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.main.tv">

<application>
    <activity android:name=".TvActivity">
        <intent-filter android:order="1">
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.BROWSABLE" />
            <category android:name="android.intent.category.DEFAULT" />

            <data android:host="example.com" />
            <data android:path="/tv" />
            <data android:scheme="https" />
            <data android:scheme="http" />

        </intent-filter>
    </activity>
</application>

当从 NavigationDrawer 中点击 TV 时,它应该触发一个 Intent 来启动 URL https://example.com/tv 而这个将下载功能 apk(如果需要)并启动 TvActivity.