我的Android应用程序今天在清单中声明了一个主要活动,但设计团队希望构建一个外观和功能都非常不同的替代品。我们希望根据功能标志执行A-B测试,以便一些用户在启动时看到旧活动,一些用户在启动时看到新活动,我们可以远程控制。我们今天已经有能力远程控制功能标志;该值保存在SharedPreferences中。在Android清单中保留单个Activity,然后让它在显示任何内容之前选择两种不同实现之一的最佳方法是什么?
siotufzp1#
对于基于XML的应用程序,我在我的一个应用程序中实现的方法之一是,我创建了两个片段,并根据标志,在启动时简单地导航到所需的片段(Jetpack Navigation库可以使片段事务变得简单)。由于每个UI都有自己独立的实现,代码将更加清晰,如果应用程序基于MVVM架构,您还可以共享视图模型,以根据您的需求共享业务逻辑。类似地,在Jetpack Compose中,基于标志导航到可组合对象将是相当简单的。视图模型的工作方式与基于XML的应用程序相同。
1条答案
按热度按时间siotufzp1#
对于基于XML的应用程序,我在我的一个应用程序中实现的方法之一是,我创建了两个片段,并根据标志,在启动时简单地导航到所需的片段(Jetpack Navigation库可以使片段事务变得简单)。由于每个UI都有自己独立的实现,代码将更加清晰,如果应用程序基于MVVM架构,您还可以共享视图模型,以根据您的需求共享业务逻辑。
类似地,在Jetpack Compose中,基于标志导航到可组合对象将是相当简单的。视图模型的工作方式与基于XML的应用程序相同。