首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

谷歌官方组件Navigation你会用了吗?

转载请注明出处 [https://www.jianshu.com/p/b8307429e905 ] 上一篇文章我们介绍了谷歌官方组件Navigation的使用谷歌官方组件Navigation你了解了吗?...导航图是包括所有的目标视图和操作的一个资源文件,这个导航图标代表了我们应用的所有的导航路径图。...如果我们是第一次创建导航图,Android Studio会在res文件夹下面创建一个navigation 的资源文件目录,这个目录当中就包含了我们刚才创建的资源文件。如图: ?..."> 这里的是导航图的根元素,当我们要在图标当中添加目标视图和连接动作的时候,我们可以使用和元素作为子元素...在activity当中添加NavHost 一个主导航必须由NavHost派生而来,导航组件默认通过NavHost来实现,NavHostFragment来处理目标fragment直接的切换。

1.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【详解】Android Jetpack 新组件之Navigation的用法和源码结构分析

    这次的Android Jetpack推出了五个新组件,它们分别是:Navigation(导航组件)、Paging(分页组件)、WorkManager(处理类似后台任务组件)、Slices(切片)、Android...Deeplink的支持,绕过activity直接跳到fragment 传递参数更安全 >>>> Navigation——导航组件 a、基于Android Studio 3.2 Canary 14(https...().getString("amount")); 2、以类型安全的方式在目标之间传递数据 导航架构组件有一个名为safeargs的Gradle插件,它生成简单的对象和构建器类,以便对目标和动作指定的参数进行类型安全访问...安全参数建立在Bundle方法的基础上,但需要一些额外的代码来换取更多的类型安全。如果您使用Gradle,则可以使用安全参数插件。...>>>> 结语 至此Navigation的用法和源码结构都介绍分析完了,他的功能还是很强大的,并且有着安全性和灵活性,以及可视化、人性化的操作,deeplink跳转,同时还支持所有架构组件例如Lifecycle

    2.3K40

    Navigation的用法

    一.Navigation的诞生   单个Activity嵌套多个Fragment的UI架构模式,已经被大多数的Android工程师所接受和采用。但是,对Fragment的管理一直是一件比较麻烦的事情。...三.如何使用Navigation   使用Navigation组件前,先要添加以下依赖:   implementation "androidx.navigation:navigation-fragment...Fragment退出 app:navGraph="@navigation/nav_graph"/> //用于设置该容器对应的导航图       此时...5.使用NavController完成导航       经过以上的步骤后,我们还需要通过NavController对象,在代码中完成具体的页面跳转工作,我们需要在MainFragment的布局文件中添加一个...既然Navigation和App bar都需要处理页面切换事件,那么为了方便管理,Jetpack引入了NavigationUI组件,使App bar中的按钮和菜单能够与导航图中的页面关联起来。

    30420

    安卓Navigation系列——进阶篇

    点击底部可以切换页面,有了上一篇的基础,先新建一个nav_graph的导航资源文件,包含三个framgent子节点 其中fragment节点在上面已经介绍过了,这篇不再讲解,BottomNavigationView是谷歌的一个实现底部导航的组件...我们知道replace方法每次都会重新创建fragment,所以使用Navigation创建的底部导航页面,每次点击切换页面当前fragment都会重建。...那么我们是不能在布局文件中通过app:navGraph属性指定自定义的导航资源文件了,只能在布局文件中去掉app:navGraph这个属性,然后在添加FixFragmentNavigator的同时,通过代码将导航资源文件设置进去...方法,进行页面切换 mNavController通过调用setGraph()方法,传入导航资源文件,并进行解析,获取导航资源文件中的节点,得到NavDestination FragmentNavigator

    3.2K30

    Android 上一次编写,随处测试

    从 Robolectric 4.0 开始,它们也可用于本地 JVM 测试。 考虑以下使用情形,我们启动登录页面,输入正确的用户名和密码,并确保进入主屏幕。...我们使用新的 Intents.getIntents() Espresso API 来返回捕获的意图列表。...这个测试可以在使用 Robolectric 或任何真实或虚拟设备的本地 JVM 上运行。...要使用 Robolectric 模拟器在本地 JVM 上运行测试用例,请将测试用例放在 “test” 资源根目录中,将以下代码添加到 gradle.build: testImplementation(“...我们非常高兴有机会为开发人员提供有关其应用程序质量的快速、准确和可操作的反馈。 最后,我们很高兴的宣布所有的 AndroidX 组件是完全 开源 的,我们期待着你的贡献。

    1.5K20

    Android Navigation的四大要点你都知道吗?

    1 在JetPack中有一个组件是Navigation,顾名思义它是一个页面导航组件,相对于其他的第三方导航,不同的是它是专门为Fragment的页面管理所设计的。...它对于单个Activity的App来说非常有用,因为以一个Activity为架构的App页面的呈现都是通过不同的Fragment来展示的。所以对于Fragment的管理至关重要。...通常的实现都要自己维护Fragment之间的栈关系,同时要对Fragment的Transaction操作非常熟悉。为了降低使用与维护成本,所以就有了今天的主角Navigation。...如果你对JetPack的其它组件感兴趣,推荐你阅读我之前的系列文章,本篇文章目前为JetPack系列的最后一篇。...它有一个属性startDestination用来定义导航栈的根入口fragment fragment: 顾名思义fragment页面。

    1.7K30

    Android单元测试框架Robolectric3.0(一):入门篇

    的使用 关于代码 1 关于Robolectric3.0 作为一个软件开发攻城狮,无论你多不屑多排斥单元测试,它都是一种非常好的开发方式,且不谈TDD,为自己写的代码负责,测试自己写的代码,在自己力所能及的范围内提高产品的质量...本文对Robolectric3.0做了简单介绍,并列举了如何对Android的组件和常见功能进行测试的示例。 2 环境搭建 Gradle配置 在build.gradle中配置如下依赖关系: ?...4.UI组件状态 ? 5.Dialog ? 6.Toast ? 7.Fragment的测试 如果使用support的Fragment,需添加以下依赖 ?...8.访问资源文件 ? 4 BroadcastReceiver的测试 首先看下广播接收者的代码 ?...以上代码的单元测试用例: ? 6 Shadow的使用 Shadow是Robolectric的立足之本,如其名,作为影子,一定是变幻莫测,时有时无,且依存于本尊。

    2.3K30

    扩大一倍,VFPBS使用ASP的资源和组件的秘招

    虽然ASP也已经不更新了,但是中国早期开发的网站都是用ASP开发的,所以相对VFP来说,ASP的资源和教程是很多的,这些资源大部分是可以被VFP所用的。...fname.Close    set fname=nothing    set fs=nothing %> 那么在VFPBS中怎么使用呢?非常简单!...fname.Close() Endproc Enddefine 是不是非常简单,像图片加水印,广告组件什么的,都可以使用ASP的相应组件。...OpenTextFile 打开文件,并返回一个用于访问此文件的 TextStream 对象。 FileSystemObject 组件的更多用法可以百度哦。...我会找些好用的ASP组件,让大家的BS之旅更加舒适。 写在最后面的话 加菲猫的VFP公众号接受投稿,一经采用,即有稿费,稿费暂定50元一篇。

    47510

    Android 架构组件的最新进展 (下篇)

    根据我们曾经做的调查,开发者们希望 Android 官方可以维护一些实用的组件库和架构实践,以降低中大型应用的开发门槛,这样开发团队就可以集中更多精力在实际业务的优化和改进上。...其中 androidx.* 库与 Framework API 解耦,这能够提供向后兼容的同时,也能更频繁地更新。 Android Jetpack 中的架构组件可帮助您设计稳健、可测试且易维护的应用。...这里我们分上下两篇介绍架构组件的最新更新,如果您还没有阅读本文的上篇,请点击这里查看《Android 架构组件的最新进展 (上篇) 》。...而且它和架构组件中的其他部分或者其他技术都能配合使用,比如 Room, Realm, Retrofit 等等。...感谢大家对本次连载的关注,希望在了解完架构组件的最新进展后,大家能在其中找到适合自己应用的功能。您也可以观看 ☟下面的视频☟ 重温我们对架构组件进展的介绍。

    83920

    Navigation深入浅出,到出神入化,再到实战改造(二)

    了解Navigation使用后,思考几个问题 NavHostFragmnet作为路由容器,是如何解析nav_graph资源文件,从而生成NavGraph对象? 跳转时,路由是如何被执行的?...通过1.处解析,得到nav_graph资源id,并保存在mGraphId变量;3.处解析获取 app:defaultNavHost="true"设置的参数。...首先我们知道NavGraph中是包含nav_graph所有节点的内容。...mBackStack,如果回退栈为空,那么mGraph一定是第一个添加的元素 把新的目标NavDestination也加入进回退栈 经过这里,导航具有了返回栈的能力。...支持Deeplink 可视化编辑页面 回退栈管理 Android组件(如:BottomNavigationView)完美交互,JetPack其他组件联合使用 缺点: 所有节点定义在nav_graph.xml

    2.1K40

    【测试左移专栏】用 Powermock 和 Mockito 来做安卓单元测试

    二、Google官方MVP架构 在熟悉单元测试框架前,首先需要学习了下Google官方推荐Android的MVP项目架构,好的框架单元测试也比较好开展。...其推荐的项目中MVP各层所使用的单元测试框架如下图所示: 其MVP测试架构图总结如下: 项目代码有兴趣学习的同学可以去自行下载去学习,学习这种优秀代码是最快的方式。...compileSdkVersion 23的不能使用Robolectric:3.0的版本,只能使用Robolectric:3.2.2以上的。...Robolectric运行报TinkerRuntimeException: Tinker Exception:onCreate method not found 业务使用了Tinker多包加载架构,运行出现上面的异常...在我们的项目中,单元测试对象建议和类相对应,这样的单元测试结果比较直观。单元测试分析被测类的业务逻辑,这里的逻辑不仅仅包括界面元素的展示以及控件组件的行为,还包括代码的处理逻辑。

    4.3K00
    领券