Android导航架构组件 – 导航架构组件是否仅用于单个活动?

前端之家收集整理的这篇文章主要介绍了Android导航架构组件 – 导航架构组件是否仅用于单个活动?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正在学习新的 Android导航架构组件( https://developer.android.com/topic/libraries/architecture/navigation/).

我有点混淆它的动机和概念,这是我的不确定性:

> Android导航架构组件是否旨在消除在单个应用程序中使用多个Activity的需要?这意味着,整个应用程序只需要一个单一活动,所有其他页面将是片段?
>在应用程序中使用多个活动,但同时使用Android导航架构组件导航片段实际上违反了Android导航架构组件的目的吗?

问题2的示例场景:

解决方法

理论上,Navigation库支持您可能想要使用的任何体系结构.开箱即用它可以将活动和碎片作为导航目的地处理,但您可以在 implementing your own Navigator之前插入自己的解决方案(例如,参见 this article).

但是,从Google I/O talk on Navigation引用/转述:

What is my Activity actually meant to do?

Right now,some apps are very Activity-heavy,some are Fragment-heavy,or completely in a different system. We’re moving towards a model where the Activity is more just an entry point into your app,rather than it being the owner of the content of your app. It’s actually just going to store global state,for example global navigation like a navigation drawer or the bottom bar.

所以谷歌确实建议你的应用只有几个活动,因为你只需要它们作为入口点.例如,您可以使用从启动器打开的另一个,以及通过深层链接打开的另一个.之后,当您的应用程序启动时,您可以使用Fragments完成其中的所有其他操作.

总结并直接回答您的两个问题:

>导航架构组件本身并不是“旨在消除使用多个活动的需要”,而是谷歌建议您在使用它时所做的事情.
>您绝对可以使用多个活动和多个碎片混合在一起.如果您愿意,您甚至可以使用纯粹基于视图的导航的单个活动.全取决于你.如果您发现导航库与您构建应用程序的方式结合使用,请使用它.

对于自定义目标,库的工具可能不是那么好(例如,可视化编辑器可能暂时只支持活动和片段),但您可以从代码中使用它.

猜你在找的Android相关文章