我目前正在学习新的 Android导航体系结构组件(https://developer.android.com/topic/libraries/architecture/navigation/)。
我有点混淆它的动机和概念,这是我的不确定性:
问题2的示例场景:
答案 0 :(得分:8)
理论上,导航库支持您可能要使用的任何体系结构。开箱即用,它可以将“活动”和“片段”作为导航目的地,但是您可以通过implementing your own Navigator插入自己的解决方案(例如,请参见this article)。
不过,引用{/ {3}}的措辞:
我的活动实际上意味着做什么?
现在,某些应用程序的活动非常繁重,某些应用程序的片段非常繁重,或者完全在另一个系统中。我们正在朝着一种模式迈进,在这种模式中,“活动”只是您应用程序的切入点,而不是应用程序内容的所有者。实际上,它只是存储全局状态,例如全局导航,例如导航抽屉或底部栏。
因此Google确实建议您的应用仅包含几个Activity,因为您只需要它们作为切入点即可。例如,您可以有一个从启动器中打开,而另一个由深层链接打开。之后,启动您的应用程序后,您可以使用Fragments执行其内部的其他所有操作。
总结并直接回答您的两个问题:
“导航体系结构组件”本身并不是“旨在消除使用多个活动的需要”,但是Google建议您在使用时进行此操作。
您仍然可以绝对将多个活动和多个片段混合使用。如果愿意,您甚至可以将单个活动与纯粹基于视图的导航一起使用。全取决于你。如果您发现导航库与构建应用程序的方式结合在一起很有用,请使用它。
该库的工具可能不适用于自定义目标(例如,可视化编辑器暂时可能仅支持“活动”和“片段”),但是您可以根据需要从代码中使用它。 / p>