前言: 上一篇文章给大家聊了Intent的用法,如何用Intent启动Activity和隐式Intent,这一篇文章给大家聊聊如何利用Intent在Activity之间进行沟通。...启动一个Activity: 在用startActivityForResult()来启动一个Activity时,Intent的写法与startActivity()是一样的,没有任何区别,只是你需要传递一个额外的...Integer的变量作为启动参数,当启动的那个Activity退出时这个参数会被作为回调函数的一个参数,用来区分返回结果,也就是说你启动Activity时传递的参数(requestCode)和返回结果时的那个参数...* * @throws android.content.ActivityNotFoundException * * @see #startActivity...Activity进行信息传递和沟通的讲解,到此Intent系列文章完结,前两篇文章是关于Intent详解和Intent使用的文章,有什么不明白的请留言,大家共同学习,共同进步,谢谢!
引言 在Android开发领域,掌握Jetpack是一位专业Android开发者必备的技能。...本文将围绕Android Jetpack展开,深度解析面试中可能涉及到的高级疑难问题,我将分享一些关于Android Jetpack的面试技巧,帮助你更好地准备面试。...它的使用场景包括但不限于: 单一活动多Fragment架构: 通过将所有Fragment集中在一个活动中,简化了导航的管理和传递数据的复杂性。...深层链接: 支持通过深层链接直接导航到应用中的特定目标,提高用户体验。 类型安全的导航: 使用安全Args插件,避免了传统Bundle传递参数时的类型错误。...参考简答: ViewModel的作用在于解决Android应用中活动和碎片(Fragment)的生命周期问题。它允许数据在屏幕旋转等配置更改时存活,并确保数据在不同组件之间共享而不丢失。
在Android中,页面的切换和管理包括应用程序Appbar的管理、Fragment的动画切换以及Fragment之间的参数传递等内容。...NavController:管理应用导航的对象,实现Fragment之间的跳转等操作。...2.6 添加动画 在Fragment之间进行跳转时,还可以添加跳转的动画。...在Android中,页面之间如果要传递数据,建议传递最少量的数据,因为在 Android 上用于保存所有状态的总空间是有限的。...[在这里插入图片描述] 参考: Android Jetpack架构组件(四)之LiveData Android Jetpack架构组件(三)之ViewModel Android Jetpack架构组件(
在刚刚结束的谷歌IO大会上,谷歌推出了Android Jetpack架构组件;正如官网所说,Android Jetpack 是一套组件、工具和指导,可以帮助您构建出色的 Android 应用。...Android Jetpack Navigation Architecture Component 介绍 Navigation导航编辑器作为Android Jetpack和 AndroidX 依赖库的一部分其目标旨在简化...Android开发中导航的实现。.../> action标签中的app:destination就是我们要加载导航的视图 当然我们也可以在导航编辑器中通过拖动来完成 ?...image 传递数据 和以前一样我们可以通过bundle传递数据 代码中手写 <fragment android:id="@+id/main2_fragment" android:name
根据我们曾经做的调查,开发者们希望 Android 官方可以维护一些实用的组件库和架构实践,以降低中大型应用的开发门槛,这样开发团队就可以集中更多精力在实际业务的优化和改进上。...Jetpack 项目正是为了解决这些问题而诞生的,Jetpack 是一系列助力您更容易打造优秀 Android 应用的工具和组件,这些组件能帮助您遵循最佳实践、免除编写繁复的样板代码并简化复杂任务,从而使您可以专注于最核心的代码逻辑...Android Jetpack 中的架构组件可帮助您设计稳健、可测试且易维护的应用。...导航 (Navigation) 是一套管理应用内 UI 流程的 Jetpack 代码库,现已发布了 2.1 的稳定版,与此同时下一个版本也已经出现在了不远的前方,接下来我们会: 在导航中提供成组 (Scoped...如果对架构组件有疑问或者建议,欢迎在评论区和我们分享。 点击这里进一步了解 Android Jetpack ?
>>>> 导读 美国当地时间2018年5月8日,Google I/O大会上发布了 Android Jetpack 。...这次的Android Jetpack推出了五个新组件,它们分别是:Navigation(导航组件)、Paging(分页组件)、WorkManager(处理类似后台任务组件)、Slices(切片)、Android...Deeplink的支持,绕过activity直接跳到fragment 传递参数更安全 >>>> Navigation——导航组件 a、基于Android Studio 3.2 Canary 14(https...>>>> 传递数据 您可以通过两种方式在目标之间传递数据:使用Bundle对象或使用safeargs Gradle插件以类型安全的方式传递数据。...view.findViewById(R.id.textViewAmount); tv.setText(getArguments().getString("amount")); 2、以类型安全的方式在目标之间传递数据
手势导航连载 ?...我们的同事 Chris Banes 为各位开发者们发布了一个「手势导航」系列的文章,帮助大家处理 Android 10 中的手势变更的问题: 《手势导航 (一) | 开启全面屏体验》介绍了将应用构建到全面屏设备...《手势导航 (三) | 处理手势冲突》介绍如何处理您的应用和 Android 10 中新引入的系统交互手势之间的冲突。...△ Jetpack Compose 使用教程中的示例代码 Jetpack Compose 在十月底的 Android Dev Summit 上公布,不过它并不属于典型的 alpha/beta/发布候选/...△ Motion Editor 可以编辑起始和结束状态,以及在二者之间切换时的动画 Motion Editor: MotionLayout 的初步版本已经发布了一段时间,但只能靠 XML 编辑器来操作的话感觉就很不方便
以及Android Studio3.3的使用 在更新之后,其中还有一大亮点就是Navigation Editor(导航编辑器) Navigation 说到Navigation Editor我们就不得不先简单说一下...Navigation(导航) 什么是Navigation 在Android开发当中,导航是指允许用户再应用内进入和退出不同内容的交互组件。...而我们通过 Android Jetpack的导航组件可以帮助我们实现导航功能。导航组件还能可能遵循既定的原则来保证用户有一个良好的用户体检。...接下来NavController可以在NavHost当中显示出适当的目标视图。 导航组件有很多的好处: 可以处理fragment的事务。 默认情况下可以正确的处理好各个事物之间前后的操作。...涵盖了一些导航UI模式,比如只需要很少的额外工作就能实现抽屉导航和底部导航。 Safe Args - 一种Gradle插件,可在目的地之间导航和传递数据时提供安全的数据类型。
三十、安卓片段介绍 三十一、在 AndroidStudio 使用片段——一个例子 三十二、现代安卓应用架构和 Jetpack 二十三、Android Jetpack 视图模型教程 三十四、安卓 Jetpack...实时数据教程 三十五、安卓 Jetpack 数据绑定概述 三十六、安卓 Jetpack 数据绑定教程 三十七、安卓视图模型保存状态教程 三十八、使用安卓生命周期感知组件 三十九、 安卓 Jetpack...生命周期感知教程 四十、导航架构组件概述 四十一、安卓 Jetpack 导航组件教程 四十二、在安卓系统上创建和管理溢出菜单 四十三、运动布局介绍 四十四、安卓运动布局编辑器教程 四十五、运动布局的关键周期教程...三十七、安卓片段介绍 三十八、在 AndroidStudio 使用片段——一个例子 三十九、现代安卓应用架构和 Jetpack 四十、Android Jetpack 视图模型教程 四十一、安卓 Jetpack...生命周期感知教程 四十七、导航架构组件概述 四十八、安卓 Jetpack 导航组件教程 四十九、运动布局介绍 五十、安卓运动布局编辑器教程 五十一、运动布局关键周期教程 五十二、使用浮动动作按钮和 Snackbar
Android P 的这种全新的交互形式,在 Android P 的搜索可以做到事半功倍,比如当你想找到 Lyft 应用时,可以直接显示应用程序,而无需在不同的应用程序之间进行切换。...Simplicity 为 Android P 在 UI 界面上的改进,最大的变化便是全新导航栏设计,由原来的三大金刚减为两个,去掉了最近任务键,主页键则改为长条状,并默认隐藏返回键,在新的主页键上滑将呼出多任务卡片界面...Android Jetpack 能够处理类似后台任务、UI 导航以及生命周期管理之类的活动,免去开发者编写样板代码的麻烦,专注提升应用体验。...Android Studio 3.2 Android Studio 3.2 引入了 Android Jetpack 支持工具,包括一款视觉导航编辑器以及全新代码重构工具。...我们已经在官方文档中列出了 Kotlin 代码片段,并且会在今天发布 Kotlin 版本的《API 参考文档》。
Android Jetpack Android Jetpack通过组件,工具和指导来帮助加速Android开发,消除重复性任务,并使您能够更快,更轻松地构建高质量,可测试的应用程序。...Android Studio包含以下更新以支持Jetpack。有关更多信息,请参阅Jetpack文档。...导航编辑器 新的导航编辑器与Android Jetpack的导航组件集成,为创建应用的导航结构提供图形视图。导航编辑器简化了应用内目的地之间导航的设计和实现。...要了解更多信息,请阅读 导航编辑器文档。 AndroidX重构 作为Jetpack的一部分,我们正在使用androidx命名空间将Android支持库重构为新的Android扩展库。...这些检查包括查找Nullability注释的存在,使用Kotlin硬关键字,最后放置lambda参数等等。
Kotlin中的Jetpack Compose是用于构建Android用户界面的声明式UI工具包。它通过Kotlin语言来编写界面,旨在简化和加速UI开发过程。...Jetpack Compose由谷歌推出,作为传统的视图系统(如XML布局和Android View组件)的替代或补充。...下面我们来看看关于Jetpack Compose的核心概念、主题和样式、导航和预览功能: 核心概念 1、 声明式UI: Jetpack Compose采用了声明式编程范式,允许开发者描述UI的外观和状态...Jetpack Compose有自己的导航组件,用于在不同屏幕之间导航。...如果你是Android开发者或者希望学习现代UI开发,掌握Jetpack Compose将会大大提升你的开发体验和效率。
作者 / Yacine Rezgui 无论您是在应用中请求某项权限,从文件管理系统中选择某个文件,还是期望从第三方应用中获取到某些数据,都会涉及到在 Activity 之间传递数据,而这也正是 Android...Activity https://developer.android.google.cn/jetpack/androidx/releases/activity Fragment https://developer.android.google.cn.../jetpack/androidx/releases/fragment 协定 https://developer.android.google.cn/reference/kotlin/androidx/..." // 在 https://developer.android.google.cn/jetpack/androidx/releases/fragment 获得最新版本号 def fragment_version...正如您看到的代码片段,ActivityResult 在处理来自 Activity 的返回数据时带来了更便捷的开发体验。
简介 Jetpack Compose 是用于构建原生 Andorid 界面的新工具包,Compose 使用了更少的代码,强大的工具和直观的 Kotlin Api 简化并且加快了 Android 上界面的开发...在 Compose 中,在构建界面的时候,无需在像之前那么构建 XML 布局,只需要调用 Jetpack Compose 函数来声明你想要的的元素,Compose 编译器就会自动帮你完成后面的工作。...Compose 编程思想 Jetpack COmpose 是一个适用于 android 的新式声明性界面工具包。...所以可组合函数需要快速执行,所以避免在组合函数中出现卡顿,如果你需要执行高昂的操作,请在狗太协程中执行,并将结果作为参数传递给可组合函数。...如果某个参数在重组完成之间发生改变,Compose 可能会取消重组,并使用新的参数重新开始。 取消重组后,Compose 会从重组中舍弃界面树。
本系列文章致力于帮助开发者们打造更好的现代 Android 开发体验,敬请关注。 今天为大家发布本系列文章中的第三篇: 在应用中导航时使用 SafeArgs。...如果您想回顾过去发布的内容,请参考下面链接查看: 导航组件概览 导航到对话框 这篇文章主要介绍 SafeArgs,它属于导航组件,并且可以在应用不同的目的地 (界面) 之间提供更加便捷的数据传递功能。...导航组件可以通过 Bundles 传递数据,这个机制也可用于 Android 中跨 activity 传递数据。...这里我们也可以使用同样的方式,为要传递的数据创建一个 Bundle,然后在接收侧将数据提取出来。 不过导航组件有更好的方法: SafeArgs。...通过这样的方式,您可以更好地利用数据封装,在目的地之间仅仅传递所需的数据而无需在更大的范围内暴露数据。 请继续关注我们后续的关于导航组件的内容,接下来我们会介绍如何使用 Deep Link。
背景 Android Jetpack 套件是最近比较流行的组件库,它包含了一系列的优秀实践,本文是先介绍 Jetpack 的概貌。...为何使用 Android Jetpack? 遵循最佳实践: Jetpack 采用最新的设计,且向后兼容性,可以减少崩溃和内存泄露。...消除样板代码: Jetpack 可以管理各种繁琐的后台任务、导航和生命周期管理等。 减少不一致: Jetpack 的组件库可在各种 Android 版本和设备中以一致的方式运作,助您降低复杂性。...navigation * 构建和组织应用内界面,处理深层链接以及在屏幕之间导航。 paging * 在页面中加载数据,并在 RecyclerView 中呈现。...CameraX CameraX 可以在其中 90% 的android 设备上运行。提高了相机应用的可靠性,以确保 API 在各种设备上的最佳行为。
然而,您将获得一项重要的新功能——能够配置这些动画并在页面之间替换您自己的过渡动画。...= null, 每个参数都接收一个 lambda。该 lambda 有两个 NavBackStackEntry 类型的参数,分别表示您来自何处 (initial) 和您要去往何处 (target)。...这些默认值依次来自父导航图、父导航图的父导航图,一直向上到根 AnimatedNavHost。...Accompanist 充当了 Jetpack 库的助推器,使得我们可以在 Compose 1.1 的开发过程中立即获得实验性功能。...我要感谢 Chris Banes 和所有投入时间在 Accompanist 上的开发者、Compose 背后的整个团队,以及大家帮助塑造 Android 开发的未来。
△ 插图作者:Virginia Poltrack 在 Google I/O 2018 开发者大会上,我们推出了 Android Jetpack,其中包含的 Android 开发架构组件能够帮助您简化开发流程...该系列的其它文章会陆续与各位开发者见面,如果您对 Jetpack 和 Android 开发感兴趣,或者想要进一步探索 Jetpack 导航组件,了解如何利用 WorkManager 调度循环任务,请持续关注...使用 Jetpack 组件 Sunflower 使用了 Jetpack 中的许多组件,以下为各个组件在应用中所扮演的角色: Sunflower 完全采用 Kotlin 语言,并且使用了 Android...) 实现 fragment 之间的切换。...在今后的文章中,我们会进一步探讨 Sunflower 中的其它 Jetpack 组件,如导航和重复任务,尽情期待。谢谢您对 Sunflower 的关注! ?
Compose还未正式发布,需要下载最新Canary版的Android Studio 预览版 以下三种方式可初步体验: 尝试使用Jetpack Compose 示例应用 创建支持Jetpack Compose...显示状态:状态会向下传递,界面会观察新状态并显示该状态。...插槽API 第二章 Jetpack Compose构建Android UI 1....Android Jetpack Compose 最全上手指南 Jetpack Compose 环境准备和Hello World 布局 使用Material design 设计 Compose 布局实时预览...用Jetpack Compose写一个玩安卓App 准备工作 引入依赖 新建 Activity 创建 Compose PlayTheme 画页面 底部导航栏 管理状态 添加页面 [1240] 5.
WorkManager 是一个 Android Jetpack 扩展库,它可以让您轻松规划那些可延后、异步但又需要可靠运行的任务。...如果您一直关注本系列文章,则会发现我们已经讨论过: Android Jetpack WorkManager | Android 中文教学视频 WorkManager 与 Kotlin WorkManager...导航 的文章。...如果您使用 Dagger 在您的应用中传递 Retrofit 服务的引用,而且您想要将其传递给您的 Worker,则需要使用 Dagger 将该引用注入到自定义的 WorkerFactory 中。...WorkerFactory 级别处理了参数的传递,因此在 Worker 类上没有 Dagger 注解。
领取专属 10元无门槛券
手把手带您无忧上云