大型项目的 Jetpack Compose 活动和可组合项

Mac*_*ver 7 android android-activity kotlin android-jetpack-compose

我注意到有几个来源鼓励开发人员在他们的项目中只使用单个活动。什么时候在一个项目中进行超过 1 项活动比较合适?活动可以拥有的可组合项数量是否有限制?我担心的一个问题是,对于需要多个屏幕的大型项目,这可能会导致大量代码,最终将变得耗时且难以滚动和查找。

Ric*_*per 10

让您的应用程序嵌入多活动并不是一个特别糟糕的做法,但问题是——在大多数情况下,您不需要它。用户不知道活动是什么,因为他们只是根据应用程序提供的屏幕来查看应用程序。这就是解释。单个可组合项可以非常轻松地代表整个屏幕,这几乎不会造成任何不便。

因此,多项活动的整个想法和需求都被破坏了。单活动应用程序也更高效,因为只有一个活动,因此您不必显式处理各种活动之间的数据流。这意味着单个 ViewModel、最小耦合、高代码可读性和简单的数据流。

这与片段不鼓励的原因相同。它们通常涉及多个视图模型,这使事情变得复杂。当一个Composable可以自己完成所有事情时,它自动成为开发人员用来构建屏幕的最佳选择。我强烈建议,无论您的项目有多大,都坚持单一活动。

我也能理解你的观点,我也能帮忙。

导航代码实验室清楚、简单地解释了 Compose 中的导航系统,该框架基本上允许您创建多个屏幕表示(或其他)可组合项,然后从操作系统中的任何位置导航到它们或从它们导航!它实际上非常易于使用,几乎没有任何不便。