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

Android Jetpack 导航组件 | Android 中文教学视频

应用内导航,也就是我们通常所说屏幕切换,一直是 Android 开发很关键一部分。...我们已正式发布稳定版 Android Jetpack 导航组件,它包含丰富库、工具和指南,为开发者们提供了一个强劲、完整导航框架,让开发者可以轻松应对复杂导航场景。...我们在这个视频中通过一些导航组件应用实例,向您演示如何通过 "单个 activity 嵌套多个 fragment" 方法来完成导航工作。...v.qq.com/x/page/v0879xupgo0.html Bilibili 视频链接: https://www.bilibili.com/video/av54529064/ 如果您想获取更详细技术指导...,可以查看 Android 开发者网站上有关导航组件 codelabs 课程和开发文档。

88540

Jetpack】Navigation 导航组件 ⑤ ( NavigationUI 类使用 )

是 Google 官方提供 用于管理 Navigation 导航组件 , 属于 Android 系统 Jetpack 工具包 ; 借助 NavigationUI 可以很方便 创建和组织应用程序导航界面...; 如 : 构建复杂导航结构,垂直或水平主菜单 , 侧边栏 , 抽屉导航栏等 ; 开发者 可以 通过 NavigationUI 轻松地管理页面的转换和导航 ; NavigationUI 提供了一些静态方法来处理...使用 Navigation 组件 切换 Fragment 界面时 , 除了进行界面切换之外 , 不同界面对应顶部 标题栏 AppBar 需要进行相应改变 ; Navigation 组件中 , 提供了...(Blank) " 选项 , 在弹出界面中 , 输入 Fragment 名称 , 创建新 Fragment ; 创建 Fragment 时 , 会自动生成对应 布局文件 : 注意 : 该操作比较坑..., 生成 Fragment 时 , 会自动添加 Kotlin 语言插件 Gradle 依赖 , 必要时可以删除该依赖 ; 自动生成依赖没有配置 Maven 源 , 会报错 ; buildscript

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

Android Jetpack 组件之 BindingAdapter 详解

android:text="@{user.name}" /> 当在布局文件中绑定某个数据时,比如上面的 TextView text 属性,在绑定时会自动接收兼容类型参数所对应方法,如 setText...BindingMethods 这是 databinding 库提供一个注解,用于当 View 中某个属性与其对应 setter 方法名称不对应时进行映射,如 TextView 属性 android...BindingAdapter,可能会疑惑为什么能够识别呢,在编译期间 data-binding 编译器会查找带有 @BindingAdapter 注解方法,最终会将自定义 setter 方法生成到与之对应...binding 类中,生成部分代码如下: @Override protected void executeBindings() { long dirtyFlags = 0; synchronized...@color/colorRed : @drawable/drawableBlue}"/> 不管是 BindingAdapter 还是 BindingConversion 最终都会将相关代码生成到与之对应

1.6K00

Android Jetpack组件 Compose 使用介绍

Android Jetpack组件 Compose 使用 前言 正文 一、创建Compose项目 1. setContent 2....,我们需要图形界面和xml去创建布局,通过预览达到我们想要效果,而Jetpack推出组件Compose就解决了这个痛点,下面让我们来了解它,使用它。...使用它,来感受声明式UI强大之处。 正文   Jetpack Compose是一个用于构建原生Android UI现代工具包。...Jetpack Compose 通过更少代码、强大工具和直观 Kotlin API 简化并加速了 Android UI 开发。   听起来好像老牛逼了!!!...再看这里依赖,主要是有composeui,我们之前看到Text就在这个库里面,以及支持composematerial组件,还有就是compose预览。

2.8K20

Android Jetpack 组件之 DataBinding 详解

文件中进行配置,具体如下: // 设置支持 dataBinding dataBinding { enabled = true } 布局文件配置 Data Binding Library 会自动生成将布局中视图和数据对象绑定所需要类...方法不存在会调用 public String name() { return "name"; } //... } 绑定数据 dataBinding 会为内个布局文件生成对应绑定类...super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //生成绑定类...FragmentOneBinding.bind(view); User user = new User("小明"); oneBinding.setUser(user); return view; } 其他布局绑定方式基本是都是使用某个生成绑定类...user.lastName}" - 空指针异常处理 生成绑定类会自动检查 null 值以避免 NullPointerException,在表达式 @ {user.name} 中,如果 user 为

72910

Android Jetpack架构组件(七)之WorkManager

一、WorkManager概述 1.1 WorkManager简介 在Android应用开发中,或多或少会有后台任务需求,根据需求场景不同,Android为后台任务提供了多种不同解决方案,如Service...WorkManager是一套AP,用来替换先前 Android 后台调度 API(包括 FirebaseJobDispatcher、GcmNetworkManager 和 JobScheduler)等组件...与系统生成ID不同,唯一名称是由开发者指定,而不是由 WorkManager 自动生成。唯一任务既可用于一次性任务,也可用于定期任务。...Jetpack架构组件(六)之Room Android Jetpack架构组件(五)之Navigation Android Jetpack架构组件(四)之LiveData Android Jetpack...架构组件(三)之ViewModel Android Jetpack架构组件(二)之Lifecycle Android Jetpack架构组件(一)与AndroidX

1.9K11

Android Jetpack架构组件(三)之ViewModel

一、ViewModel简介 在早期Android开发中,由于应用相对较小,页面相对简单,我们会将数据请求、页面UI处理和数据加载全部放在Activity或Fragment中进行,但是随着项目的迭代,...此时,借鉴后端后端程序开发思路,我们对Android项目进行了分层,典型有MVC,MVP和MVVM等项目分层,然后每层负责自己事情即可。以现在流行MVVM模式为例。...Model层:数据层,主要负责数据实体和对数据实体操作。 View层:视图层,对应AndroidActivity、Fragment和View等,负责数据显示以及与用户交互。...在JetPack架构中,ViewModel组件是一个可以感知生命周期形式来存储和管理视图相关数据组件,因此它适合以下场景。 适合需要保存大量数据场景。...二、生命周期 我们知道,AndroidActivity/Fragment是有生命周期,我们可以在不同生命周期函数中执行不同操作来达到不同目的。

1.4K00

Android Jetpack架构组件(九)之Paging

为了方便开发者进行分页处理,Google为开发者提供了分页组件(Paging),借助Paging组件开发者可以轻松加载和呈现大型数据集,同时在 RecyclerView 中进行快速、无限滚动。...将PageList数据交给PageListAdapter。 PageListAdapter在后台线程对比原来PageList和新PageList,生成PageList。...在在 ViewModel 中创建 PagedList.Config 并进行分页参数配置,创建 DataSource 工厂对象,最终生成支持分页 LiveData 数据。...三、Paging3 3.1 概述 Paging是JetPack框架提供一个分页库,它可以帮助开发者从本地存储或通过网络加载显示数据,不过由于历史原因,早期Paging存在各种使用上问题,因此Android...3.1.3 Paging3应用架构 下面是Android官方推荐接入 Paging3应用架构图。

3.4K20

使用导航组件: 对话框目的地 | MAD Skills

今天为大家发布本系列文章中第二篇: 导航对话框目的地,如果您想了解第一篇发布内容,请点击这里查看本系列第一篇: 导航组件概览。...导航组件默认行为确实是替换掉 NavHostFragment 中 fragment。但是导航组件同样可以处理在 NavHostFragment 之外对话框目的地。...id 将导航目的地改变为对话框,这里 id 正是在导航图中创建目的地时所生成。...注意: 点击返回按钮,同样会返回甜甜圈列表,因为导航组件已经自动为我们设置好了返回栈。 总结 通过这篇文章我们了解了如何使用内置导航组件快速地创建一个新应用,并且学习了如何导航对话框目的地。...更多信息 更多关于导航组件详情,请查看 导航组件使用入门文档 DonutTracker 应用完整代码,请查看 Github 示例 更多 MAD Skills 系列内容,请查看 Android Developers

1.4K30

学习|Android JetPack组件---ORM框架Room使用

Room 包含 3 个主要组件: 数据库:包含数据库持有者,并作为应用已保留持久关系型数据底层连接主要接入点。...然后,应用使用每个 DAO 从数据库中获取实体,然后再将对这些实体所有更改保存回数据库中。最后,应用使用实体来获取和设置与数据库中表列相对应值。 Room 不同组件之间关系图 ?...首先把Room组件在build.gradle中引入进来 def room_version = "2.2.5" implementation "androidx.room:room-runtime...01 简单使用 按上面Room介绍,我们要创建三个主要组件@Database,@Entity和@Dao 类Entity创建 package com.vaccae.roomdemo.bean import...,上面@Entity中tableName就是我们在Sqlite数据库中要生成表名,@PrimaryKey就是设置code为主键,@ColumnInfo是用于标识表里列名,如果这个不写的话就默认是你属性名

1.1K20

Android Jetpack架构组件(二)之Lifecycle

Android开发中,解藕很大程度上表现为系统组件生命周期与普通组件之间解藕,因为普通组件在使用过程中需要依赖系统组件生命周期。...我们希望在对组件进行管理不依赖页面的生命周期回调方法,同时当页面生命周期发生改变时,也能够即时收到通知。这在Android组件化和架构设计时候表现尤为明显。...那纠结什么是Lifecycle组件呢?总的来说,Lifecycle 就是具有生命周期感知能力组件。...,AndroidLifecycle组件需要先创建一个观察者,当组件生命周期发生变化时,通知观察者LifeCycle注解方法做出响应。...参考:Android Jetpack架构组件(一)与AndroidX

1.2K00

Jetpack】Navigation 导航组件 ① ( Navigation 引入 | Navigation 特点 | Navigation 重要组件 | Navigation 使用流程 )

Bar 管理过程中使用比较繁琐 , 维护难度较大 ; Jetpack 提供 Navigation 组件 , 解决上述 Fragment 页面管理 与 App Bar 管理 问题 ; Navigation...中定义 Fragment 页面 需要通过 NavHostFragment 进行展示 ; NavController 组件 : 该组件是 NavHostFragment 中管理对象 , 用于管理应用中导航操作...Graph , 并指定要跳转 destination 页面 创建 NavHostFragment 组件 执行 Fragment 页面跳转 , 并添加动画效果 使用 NavController 组件实现页面导航.../ Android Resource File " 选项 , 在弹出对话框中 , 选择 Resource Type 为 Navigation , 其 Directory name 会被自动设置为...然后设置该 NavHostFragment 组件 约束布局选项 , 充满全屏 ; 生成完整 Activity 布局文件代码如下 : <?

46440

带你彻底了解Android Jetpack组件Paging库

Android arch componet 完整架构中,更推荐使用构建一个 PageList LiveData 方式。...初始加载我们看完了,那么,剩下数据是如何加载呢 我们反过来看 RecyclerView, 如果我们滑动列表或者其他操作时候,很自然会调用 adapter bind 方法。...,之后逻辑和之前 dispathLoadInitial 就非常类似了。...理解 最后谈一下对 paging 理解。 一般情况下,我们最原始方式,列表 UI 所在部分,是需要知道数据来源等逻辑部分,我们在常见 mvp 模式中,会对数据和 UI 进行分层。...而 paging 就利用一系列封装, 提供了更加通用 API 调用来做这些事情。更通俗点说,就是实现了分页加载结构中 Presenter 层及 Presenter层下游处理部分。

1.7K20

Android Jetpack组件 DataStore使用和简单封装

Jetpack组件 DataStore使用和简单封装 前言 正文 一、添加依赖 二、数据存取 三、数据查看和清除 四、封装 五、对象存取 1....正文   DataStore是Jetpack一个组件,用于做数据持久化,DataStore以异步、一致事务方式存储数据,克服了SharedPreferences一些缺点,DataStore基于Kotlin...三、数据查看和清除   在进行定义dataStore时,会在手机中生成一个pb文件,这里我们用虚拟机来看, 然后通过你程序包名去找 这里文件就是存放你缓存信息文件。...Protobufs 生成 java Protobuf-lite 代码。...*/ option java_package = "com.llw.datastore";//设置生成类所在包 option java_multiple_files = true;//可能会有多个文件

3.5K20
领券