技术演讲
Compose 中的自定义布局和图形
Jetpack Compose 提供各种开箱即用的解决方案,可以快速轻松地从头构建屏幕。但是,当您需要更进一步并进行完全自定义时会发生什么?在本演讲中,您将学习如何使用自定义 Compose 布局和图形的强大组合来创建复杂的界面设计。我们将通过在短短 20 分钟内构建一个复杂的睡眠追踪器示例应用程序,更实际地介绍自定义图表布局、Compose 绘图操作和动画等内容。
Compose 修饰符深度剖析
深入探讨修饰符的历史和 API 约束,以及它们旨在解决的问题,最终引向 1.3 版本中的主要实现改进,以及添加了一些更低级但功能强大的实验性 API,我们将在接下来的几个版本中迁移到这些 API。本演讲将深入探讨此迁移的原因和方法,它如何影响开发人员,以及它将对最终用户性能产生的影响。
UI 层中的状态持有者和状态生成
UI 层在屏幕上显示应用程序数据。但究竟是如何实现的呢?在本演讲中,我们将深入探讨 UI 状态生成管道和管理 UI 复杂性的状态持有者。此外,我们将了解 UI 和业务逻辑、ViewModel 和普通状态持有者类、状态和事件之间的区别等等!所有这些是什么,何时使用哪个,以及如何使用。
使用基线配置文件打造极速应用
基线配置文件是一种显著提高应用和库的应用启动和运行时性能的新方法。在本课程中,我们将分享如何创建基线配置文件并验证其有效性。您还将了解 Android 运行时如何在提供各种 Android 平台版本的基线配置文件时提高应用性能。
Compose 工具的最新进展
在本演讲中,我们将通过展示如何在您的开发工作流程中集成这些工具,向您介绍 Android Studio 中 Compose 工具的最新进展。
您将学习如何使用 Compose 预览设计和验证您的 UI,使用实时编辑加速您的开发工作流程,并使用 Compose 编辑功能更快地编写代码。我们还将向您展示如何分析您的布局,使用布局检查器了解重新组合,以及查明代码中的性能问题。
演讲结束后,您将能够利用这些工具来构建美观、高性能且自适应的 Compose UI。
Android 构建的新功能
在本演讲中,我们想分享 Android Gradle 插件 (AGP) 的新功能,以及新的 API 和功能如何帮助您提高构建效率(维护和速度)。
从视图到 Compose:我该如何开始?
使用 Jetpack Compose 并不要求您从头重建您的应用,而是您可以采用增量方法进行迁移。在本演讲中,您将学习如何开始将 Compose 引入您的代码库,以及如何逐步迁移现有屏幕。演讲结束后,您将掌握如何将应用转换为 Compose 的坚实基础。
在 Compose 中提升状态的位置?
在本演讲中,您将学习如何在 Jetpack Compose 中提升状态以及提升状态的位置。何时应该提升状态?应该在可组合函数、普通状态持有者类还是 ViewModel 中提升状态?在本课程中,我们将使用真实的示例探讨不同的可能性。
Compose 应用中的 Material You
Material 3 Jetpack Compose 库将在 ADS 中稳定发布!了解新的和更新的主题和组件,并开始在您的生产应用中使用该库。本演讲还涵盖了 Material You 动态颜色以及从 Material 2 的迁移。来了解一下为什么现在采用 Jetpack Compose 可以让应用焕然一新,并帮助您与 Android 操作系统视觉语言和美学的演变保持同步。
Compose 如何改进 UI 测试的五种方法
如果您需要另一个将您的应用迁移到 Compose 的理由,那么测试可组合组件比测试视图更容易、更快且更可靠。在本演讲中,我们将探讨由于 Compose 的设计而改进的五种测试方法。
使用 Navigation Compose 实现类型安全的多模块最佳实践
随着应用规模和复杂性的增长,遵循使用 Navigation Compose 的这些最佳实践将使您能够跨多个模块扩展导航图,同时保持所有导航调用中的类型安全。本演讲还将解释如何将 Kotlin 多平台就绪屏幕与 Navigation 代码分离,以及如何在跨多个模块拆分后将您的 Navigation 代码重新组合在一起。
Room 数据库迁移实践
数据库迁移有时可能感觉像一项极限运动——如果您同意,这就是您的演讲!在本演讲中,我们将介绍自动迁移、如何迁移预填充数据库、如何对迁移进行预处理和后处理数据,以及如何在迁移期间处理外键和视图。掌握了这些新技能后,迁移将不再感觉像是在没有降落伞的情况下跳伞——而是像带着喷气背包跳伞一样!
使用 Gradle 托管设备进行大规模测试
Gradle 托管设备 (GMD) 使您可以轻松利用虚拟设备进行可扩展的、完全托管的测试,并内置测试缓存、分片和生命周期管理。我们现在正在添加对在 Firebase Test Lab 中运行的物理和虚拟设备的支持,以将 GMD 的优势带给 Google 的 Android 云测试解决方案。
您不容错过的 5 个 Android Studio 功能
到目前为止,每个人可能都看到了 Jetpack Compose 工具、实时编辑以及 Android Studio 其他备受瞩目的功能的实际应用。这就是为什么在本演讲中,我们将向您展示 IDE 中 5 个即将推出的功能和改进,这些功能可能并不那么容易被注意到,但它们有可能极大地改善您的日常开发工作流程。
Jetpack Compose 的更多性能技巧
继 Jetpack Compose 中常见的性能问题 I/O 演讲之后。我们将进一步深入探讨为什么延迟读取 Compose 状态有效的原因,了解稳定性以及 Compose 如何推断它,了解报告 FullyDrawn 的新 API 等等。
从头构建可扩展、模块化、可测试的应用程序
如果您正在从头构建应用程序或希望更新您的应用程序以遵循现代 Android 开发最佳实践,本演讲将为您提供所需所有组件的高级概述,以及它们如何使用真实的示例(Android Now 应用)协同工作。
本演讲还将解释我们是如何构建应用程序的其中一项功能以及其设计背后的决策。我们将介绍该应用程序的可测试、模块化架构,并讨论我们如何使用 Jetpack Compose 和 Material3 构建一组可重用的 UI 元素。
重新构想设计师与开发者之间的交接:介绍 Relay
在本闪电演讲中,我们将向您介绍现在可公开试用的 Relay。Relay 是一个新的流程,允许团队在 Figma 中创建 UI 并生成高保真 Compose UI 组件。Relay 将结构化组件数据置于设计师和开发者之间协作的核心位置,从而实现即时 UI 实现和快速迭代。
5 个快速动画让您的 Compose 应用脱颖而出
想要为您的 Jetpack Compose 应用添加一些动态效果,但没有时间学习所有关于动画的知识?这里有 5 个快速动画,只需几分钟即可让您的应用栩栩如生!
Compose 中的文本样式
文本样式可以赋予您的应用个性。在本演讲中,我们将使用 Jetchat 来学习如何使用 Material API 配置排版,包括使用可下载字体和可变字体。然后,我们将自定义聊天气泡,使其根据消息长度而折叠。最后,我们将设置消息框的样式:为其添加渐变边框、在您键入时颜色会变化的光标,以及完全自定义的装饰框。
创建离线优先应用
没有网络?没问题!学习如何构建离线优先应用。本演讲将介绍建模、数据访问语义、同步和冲突解决。它还将重点介绍构建离线优先应用时不可或缺的实用程序和数据结构。
按层还是按功能?为什么不两者兼顾?!Android 应用模块化的指南
本实践性演讲将为您提供一组常见的模式和方法,用于在现代 Android 应用架构的上下文中模块化您的项目。了解各种模块类型及其在多模块代码库中的作用。
以生命周期感知的方式收集 Flow
以生命周期感知的方式收集 Flow 是在 Android 上收集 Flow 的推荐方法。在本演讲中,我们将探讨您可以使用不同的 API 来实现此目的,例如 Jetpack Compose 中的 repeatOnLifecycle API 或 collectAsStateWithLifecycle API,并了解它们的内部工作原理。
使用可分析构建精确测量应用性能
在本地开发过程中,大多数应用开发者都以可调试模式构建和运行其应用。但是,可调试应用会产生巨大且多样的性能下降,并且不适用于精确测量时间。在本演讲中,了解可分析应用对性能测量的益处以及如何在 Android Studio 中构建它们。
编写您的第一个 Compose UI 测试
在本演讲中,我们将引导您完成编写您的第一个 Compose UI 测试。我们将介绍查找器、断言、操作和匹配器,并快速了解语义树。
从 Android Studio 中更快地处理 Firebase Crashlytics 报告
Firebase Crashlytics 记录开发者生产应用中发生的错误,但到目前为止,您需要转到 Crashlytics 的 Web 控制台来调查错误。Android Studio Electric Eel 中引入的应用质量洞察功能使其能够与 Android Studio 集成,使您可以导航到导致错误的相关代码。
本演讲将解释应用质量洞察的基本知识以及它如何在调试生产应用中的错误方面发挥作用。
使用 Android Studio 打造更优秀的跨设备 UI
Android Studio 让您能够更轻松、快速地将应用扩展到多种尺寸的设备——从小屏幕到大屏幕!我们将带您浏览 IDE 中的新工具和改进功能,例如视觉 Lint 检查、参考设备、可调整大小的 Wear 模拟器、Wear 配对助手、尺寸预览等等!演讲结束后,您将能够使用 Studio 的多设备环境来加快工作流程,从而为大屏幕和 Wear OS 构建应用。
Compose:实现大屏幕自适应 UI
学习如何为各种屏幕尺寸构建自适应布局。您将学习使用 Compose 构建 UI 的方法,从而在手机、平板电脑、折叠屏设备和 ChromeOS 设备上创造出色的用户体验。
大屏幕应用优化:经验之谈
来学习构建 Android 应用的最佳实践,使其在大屏幕和折叠屏设备上都能良好运行!我们将涵盖 Android Studio 新工具、新的和更新的 Jetpack 库,以及更具体的设 计和开发指导,让您轻松利用超过 2.7 亿活跃的大屏幕 Android 设备!
大屏幕设计:规范布局和视觉层次结构
规范布局为差异化的大屏幕体验提供了一个良好的起点,涵盖常见的用例和屏幕尺寸。但是,如何为您的应用选择合适的布局,或者在规范布局的基础上构建自适应体验以完美匹配您的产品?从设计的角度学习理解规范布局和核心开发概念,解读 Feed、列表详情和辅助面板布局的原理,并释放提升自适应设计的潜力。
在 Wear OS 上构建媒体应用
在本演讲中,您将学习如何在 Wear OS 上构建高质量的媒体应用。我们将首先介绍媒体应用的核心用户旅程,以概述需要构建的内容;然后,我们将讨论如何通过采用我们新发布的媒体工具包和 Media3 Exoplayer 来简化开发,最后我们将介绍一些技巧,以确保良好的性能。
深入探讨 Wear OS 应用架构
为 Wear OS 构建应用并不意味着要从头学习 Android。本演讲将教您如何将新的 Wear 项目添加到现有的移动项目中,或者如何从头开始创建和构建 Wear 应用。我们将了解如何最好地组织代码以最大限度地重用代码,以及如何利用 Horologist 等工具为您的用户提供可靠的体验。
使用健康服务和 Health Connect 创建有益的健身体验
现代的健康和健身体验存在于多种设备形式中。数据很少会只存在于单个可穿戴设备、手机应用或设备上。碰巧的是,大量的设备(包括智能手机和可穿戴设备)以及许多健康、健身和保健应用都在 Android 上运行。
在本演讲中,您将学习如何构建具有凝聚力、周到的体验,从而连接健康服务和 Health Connect,并使用户能够控制其数据和隐私。
提升电视用户体验
最新的电视平台更新提供了一些极好的新方法,可以为客厅中的应用提供更好的用户体验。
车载应用库的新功能
了解最近添加到车载应用库中的新功能,这些功能使在 Android Auto 和 Android Automotive OS 上的驾驶优化应用比以往任何时候都更好!
充分利用多窗口和活动嵌入
我们过去认为用户在任何给定时刻只能看到并与一个活动进行交互。从 Android 12L 开始,这一假设不再有效,因为 Android 12L+ 将多任务处理置于首位,允许用户在屏幕上同时显示来自不同应用或同一应用的两个活动。本演讲将涵盖您为确保应用能够在多窗口中启动而需要执行的操作,以及如何利用额外的屏幕空间并同时显示多个活动。
您的相机应用在不同尺寸的设备上的表现
从历史上看,您的应用可能在其整个生命周期中都位于同一窗口中,并具有固定的方向。但是,随着可折叠设备等新型号和多窗口及多显示器等新的显示模式的出现,您不能再假设这是正确的了。让我们来看看在针对大屏幕和可折叠设备开发应用时最重要的一些考虑因素。
在所有屏幕尺寸上使用 Navigation Compose
编写一个可以处理手机、ChromeOS 设备以及介于两者之间的所有设备的单一导航系统似乎是一项艰巨的任务。我们将讨论处理这项工作的方法,以及如何将 Navigation Compose 与规范布局一起使用,以构建最适合大屏幕的体验,并无缝适应手机屏幕。
Insets:Compose 版本
不要害怕采用边缘到边缘的设计!了解 Insets 如何向您的应用传达系统装饰的位置,以及新的 Compose API 如何帮助您的内容随系统栏、软件键盘和任务栏自动移动。
平板电脑和 ChromeOS 上的键盘和鼠标支持的关键
Android 目前拥有超过 2.7 亿台活跃的大屏幕设备。随着每台新的大屏幕设备的推出,优化应用以支持键盘和鼠标的重要性持续增长。本演讲深入探讨了您可以在应用中引入和优化键盘和鼠标支持的代码。
跨设备开发 Assistant 应用
在本演讲中,您将学习如何利用 Android Studio 中的语音优先 API 和工具,通过 Google 助理为各种设备类型的应用带来语音功能。
Google Play 上大屏幕应用的三级质量标准
平板电脑和可折叠设备的日益普及为以创新的方式吸引新用户提供了机会。自适应 UI 允许您轻松构建此体验。
在本演讲中,您将了解开发人员为支持大屏幕而提供的功能,以便在 Android 上创建和测试自适应 UI,以便用户无论使用什么设备都能喜欢您的应用。
拖放功能,实现无缝多任务处理
随着大屏幕设备的增多,用户同时使用多个应用的频率越来越高。通过添加对从应用拖放内容到应用的功能的支持,您可以减少摩擦,并通过出色的跨应用交互来取悦您的用户!
为什么以及如何为 ChromeOS 优化您的应用
目前,数百万个 Android 应用可在 ChromeOS 上使用,如果您的应用在 Google Play 上,它也可能成为其中之一。本演讲将概述我们可以采取哪些步骤来确保在 ChromeOS 上为用户提供最佳体验。
为您的 Android 应用添加触笔支持
学习如何为触笔输入优化您的 Android 应用。通过利用新的 Jetpack 库,您可以使用触笔设备引入沉浸式用户体验,以实现类似于将笔放在纸上的体验。
轻松测试 Wear OS 健身应用
与手机应用相比,为 Wear 开发高质量的健康和健身体验(尤其是执行手动质量保证)可能有点棘手。设备的功能各不相同,并且反复运行(或游泳!)来测试用户旅程并不实用。在本简短演讲中,我们将介绍一些在地面上稳稳站住脚跟,通过模拟器和健康服务的合成模式来测试健康和健身体验的方法。
环绕手表:在 Wear OS 中处理旋转输入
Wear OS 设备可能包含物理表冠或旋转边框。当用户旋转表冠时,系统会生成旋转事件,开发人员可以利用这些事件为用户提供增强的触觉交互。例如,这可以用于滚动屏幕或控制音量。在本演讲中,您将学习如何在应用中处理旋转输入。
让您的应用在 Google Play 上的所有设备上都能闪耀
您在 Google Play 上的应用列表信息即将获得更多关注!了解商店中的新功能以及在这些更改之前优化应用资源的最佳实践。
将您的应用迁移到 Android 13
每个新版本的 Android 都会带来您的应用需要考虑的平台行为更改;其中一些更改仅在您定位新的 SDK 版本时才适用,而另一些更改(主要涉及隐私和安全)则适用于所有应用。我们将介绍这些更改,深入了解如何测试您的应用,并讨论您可以利用的 Android 13 新功能,以便为您的 Android 13 早期采用者提供最佳体验。
为所有用户提供高质量的媒体体验
媒体体验在很大程度上依赖于各种因素,例如设备的硬件功能和媒体文件本身的属性,形成了开发人员需要处理的复杂的场景矩阵。本演讲将讨论确保您的媒体应用针对所有用户(无论用例如何)都能提供最佳体验的工具和策略。
使用 Android Camera 提升社交体验质量
在本会议中,我们将探讨新的框架创新,以提高质量、降低延迟并使用 Android Camera 创建创新的体验。
为多语言世界构建应用
学习国际化 Android 应用的最佳实践,以及如何实现每个应用的语言偏好设置。
迁移到 Play Billing Library 5
Google Play 在 2022 年 5 月添加了新的订阅功能,这些功能使您的订阅产品目录具有更大的灵活性和复杂性。了解如何通过迁移到 Play Billing Library 5 并采用为利用新功能而创建的新端点来调整您的 Android 和服务器集成,并设计您的系统以降低维护成本。
使用最新的 Android 功能设计高质量的应用
最近发布的 Android 带来了完全重新设计的 UI,每次点击、滑动和滚动都会让它感觉栩栩如生。在本会议中,我们将介绍三个平台功能,以帮助您使用高级布局、令人愉悦的导航和可访问的颜色系统来完善您的应用。用户期望他们的应用拥有高质量的体验——开发人员如何满足这一期望?
用于设备上机器学习的硬件加速
硬件加速可以大大减少机器学习功能的推理延迟,并允许您提供可能无法实现的实时设备体验。如今,除了 CPU 之外,Android 设备还嵌入了各种专用芯片,例如 GPU、DSP 或 NPU,您可以使用这些芯片来加速 ML 推理。在本演讲中,我们将介绍 TensorFlow 和 Android ML 团队提供的一些工具和解决方案,这些工具和解决方案可以帮助您利用各种硬件来加速 Android 应用中的 ML 推理。
解密证明
设备信任很复杂,但对于现代应用至关重要。即使是大型公司最优秀的移动开发者也很少有时间成为专家。在本演讲中,我们将讨论什么是证明,哪些应用应该利用它,如果不信任设备应该采取哪些措施,以及 Play Integrity API 如何简化您改进应用安全的途径。
为 Compose 构建辅助功能支持
Jetpack Compose 是 Android 构建原生 UI 的新工具包,在本演讲中,我们将讨论构建一个与辅助功能服务兼容的新 UI 工具包所需要做的工作。本次演讲旨在帮助开发者更深入地了解各种辅助功能服务(例如 TalkBack 和 Switch Access)如何理解和监控 Android 应用中 UI 的状态。
在您的语音通信应用程序中支持 BLE 音频
Android 13 引入了对 BLE 音频助听器的支持,并且在未来一年内,硬件设备将上市。本技术会议将重点介绍电信 API 如何支持 BLE 音频助听器,以利用高达 32kHz 的高质量双向音频、立体声麦克风支持和许多其他功能。
隐私沙盒的下一步
Android 隐私沙盒概述,包括我们的 Beta 及后续计划。了解每个隐私沙盒 API 的新功能以及如何在您的应用或游戏中利用它们。
关于 Android 存储的一切
持久性是每个移动应用程序的核心要素。Android 提供不同的 API 来访问或公开文件,但各有不同的权衡。您应该请求 WRITE_EXTERNAL_STORAGE 吗?如何访问共享存储上的图像?在本课程中,您将能够理解存储的关键概念,并利用最新的 API 来提高您的开发人员效率和用户的隐私。
HDR 10BIT:捕获、播放和共享 10BIT 视频
本次演讲将深入探讨 HDR 视频,并讨论从头到尾的过程,包括视频捕获、编辑、播放和共享。我们可以讨论的具体主题包括用于编辑的新 Media3 Transformer API、用于播放的 SurfaceView 上的显示图形,以及准备共享文件的任何其他最佳实践。
通过采用尊重隐私的权限工作流程来培养用户信任
在本演讲中,我们将重申过去几个版本中 Android 权限的一些重大发布,同时解释为什么我们相信上述原则,并展示我们的一些 Google 应用如何在其自身应用中采用这些原则来为用户构建更好的隐私体验。我们希望能够激励开发人员采用这些最佳实践,并增强用户对其应用体验的信任。
构建现代 Android 应用小部件
您的应用是否有应用小部件,或者您想构建一个?在本课程中,我们将展示我们如何使应用小部件现代化,从而提高参与度,并将分享帮助您构建现代 Android 应用小部件的技巧。
防止您的应用在仅 64 位的世界中崩溃
仅 64 位打开了一些人们使用平台的方式的差距。本演讲涵盖了如何确保您的应用可在下一代 Android 设备上运行。
Android 上超宽带简介
超宽带技术的介绍,关键概念和实际应用。还将介绍我们新的 Jetpack 库,以便使用它为 Android 构建应用以及示例代码。
与 Health Connect 同步数据
健身应用将活动存储在数据库中。Health Connect 也将活动存储在数据库中(不同的数据库!)。如何在活动之间进行同步(包括传播删除和更新),以确保一致、可靠且用户易于理解?
Android 图形
学习如何在您的应用中使用 Android 的图形 API,包括利用一些最新的平台功能,例如 AGSL(Android 图形着色语言)。