如何在清单中创建单个 Android Activity,但在启动时使用两种实现之一?

问题描述 投票:0回答:1

我的 Android 应用程序今天在清单中声明了一项主要活动,但设计团队希望构建一个在外观和功能上都非常不同的替代品。我们希望基于功能标志执行 A-B 测试,以便一些用户在启动时看到旧的活动,而另一些用户在启动时看到新的活动,我们可以远程控制它。今天我们已经能够远程控制功能标志了;该值保存在 SharedPreferences 中。

在 Android 清单中保留单个 Activity,然后让它在显示任何内容之前选择两种不同实现之一的最佳方法是什么?

android android-activity
1个回答
1
投票

对于基于 XML 的应用程序,我在其中一个应用程序中实现的方法之一是创建两个片段,并根据标志,我只需在启动时导航到所需的片段(Jetpack 导航库可以使片段事务变得简单)。由于每个 UI 都有自己独立的实现,代码会更加简洁,如果应用程序基于 MVVM 架构,您还可以根据您的需求组合视图模型来组合业务逻辑。

同样,在 Jetpack Compose 中,根据标志导航到可组合项将相当简单。视图模型的工作方式与基于 XML 的应用程序相同。

© www.soinside.com 2019 - 2024. All rights reserved.