我使用 jetpack 中的导航组件在我的应用程序中进行导航。我的应用程序中有 3 个屏幕,它们都是通过 Fragment 实现的:
- 搜索屏幕
- 列表屏幕
- 详细信息屏幕
当用户按下搜索(打开search screen)时,应用程序会导航到list screen加载结果并显示它们。用户选择结果之一并导航到detail screen。如果只有一个结果,应用程序list screen会detail screen自动从 导航到,从而有效地跳过列表屏幕。
问题是返回导航:当有多个结果时,我需要导航回list screen,但如果只有一个结果,我需要导航回search screen。我只想 call navigateUp,但这将带我list screen(在所有情况下)然后转发到detail screen如果只有一个结果。
FragmentTransaction直接使用时,我们可以使用replace当前片段并调用,addToBackStack只有当我们以后想返回它时才调用。使用导航组件时,我们可以只使用navigate,它的行为就像replace+ 一样addToBackStack。
如何使用架构组件实现无需添加到后台堆栈的替换行为?
我正在编写依赖于生命周期工件的android库,问题是:我的库应该依赖于该工件的AndroidX版本还是旧版android.suport版本?
我问的是目标受众。
就我而言,有一个Jetifier允许AndroidX上的应用使用android.support上的库,但会花费一些构建时间。
但是使用旧版支持库的应用程序呢?他们是否有可能使用某些反Jetier工具依赖基于AndroidX的库?
根据扩展的目标api级别要求文章,在2019年底将需要目标api 28,并且(我只是推断)在2020年底将需要目标api29。因此,从技术上讲,遗留依赖项可以生存到2020年底。
我没有找到有关将应用迁移到AndroidX的任何统计信息,如果有的话可以分享吗?