技术讲座
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 测试的 5 种方式
如果您需要另一个将您的应用迁移到 Compose 的理由,那么测试可组合项比测试视图更容易、更快且更可靠。在本讲座中,我们将探讨由于 Compose 的设计方式而改进的五种测试方法。
使用 Navigation Compose 进行类型安全的多模块最佳实践
随着您的应用规模和复杂性的增长,遵循这些使用 Navigation Compose 的最佳实践将使您能够跨多个模块扩展导航图,从而在所有导航调用中保持类型安全。本讲座还将解释如何将 Kotlin 多平台就绪屏幕与导航代码分离,以及如何在跨多个模块拆分后将导航代码重新组合在一起。
实用的 Room 迁移
数据库迁移有时可能看起来像是一项极限运动——如果您同意,这就是适合您的讲座!在本讲座中,我们将介绍自动迁移、如何迁移预填充数据库、如何预处理和后处理迁移数据,以及如何在迁移期间处理外键和视图。有了这些新技能,迁移将不再像没有降落伞的天降一样——而是可能会像带着喷气背包的天降一样!
使用 Gradle 托管设备进行大规模测试
Gradle 托管设备 (GMD) 使利用虚拟设备进行可扩展的、完全托管的测试变得容易,内置了测试缓存、分片和生命周期管理。我们现在正在添加对在 Firebase 测试实验室中运行的物理和虚拟设备的支持,以将 GMD 的优势带到 Google 的 Android 云测试解决方案中。
您不容错过的 5 个 Android Studio 功能
到目前为止,每个人可能都看到了 Jetpack Compose 工具、实时编辑以及 Android Studio 的其他备受瞩目的功能的实际应用。这就是为什么在本讲座中,我们将向您展示 IDE 中 5 个即将推出的功能和改进,这些功能可能不太容易被注意到,但有机会极大地改善您的日常开发工作流程。
Jetpack Compose 的更多性能提示
Jetpack Compose 中的常见性能问题 I/O 讲座的后续内容。我们将进一步深入了解为什么延迟读取 Compose 状态有效的原因,了解稳定性和 Compose 如何推断它,了解报告 FullyDrawn 的新 API,等等。
从头开始构建可扩展、模块化且可测试的应用
如果您正在从头开始构建应用或希望更新您的应用以遵循现代 Android 开发最佳实践,则本讲座将为您提供所需所有组件的高级概述,以及它们如何使用真实世界的示例(Android 当前功能)组合在一起。
本次讲座还将解释我们如何构建应用的其中一项功能以及其设计背后的决策。我们将介绍应用的可测试、模块化架构,并讨论我们如何使用 Jetpack Compose 和 Material3 构建了一组可重用的 UI 元素。
重新构想设计人员与开发人员的交接:推出 Relay
在本闪电演讲中,我们将向您介绍 Relay,该功能现已开放 alpha 测试。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 检查、参考设备、可调整大小的和可穿戴模拟器、可穿戴配对助手、形态因素预览等等!在本次演讲结束后,您将准备好使用 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 等工具为用户提供可靠的体验。
使用健康服务和健康连接创建有用的健身体验
现代的健康和健身体验存在于多种形态因素中。数据很少在单个可穿戴设备、手机应用程序或设备上产生和消亡。碰巧的是,包括智能手机和可穿戴设备在内的大量设备组合,以及许多健康、健身和健康应用程序都在 Android 上运行。
在本演讲中,您将学习如何构建具有凝聚力、周到的体验,这些体验可以连接健康服务和健康连接,并使用户能够控制自己的数据和隐私。
改善电视用户体验
最新的电视平台更新提供了一些极好的新方法,可以为客厅中的应用程序提供更好的用户体验。
汽车应用库的新增功能
了解最近添加到汽车应用库中的新功能,使驾驶优化应用程序在 Android Auto 和 Android Automotive OS 上比以往任何时候都更好!
利用多窗口和活动嵌入做更多事情
我们过去认为用户在任何给定时间只能看到并与一个活动进行交互。从 Android 12L 开始,这个假设不再有效,因为 Android 12L+ 将多任务处理放在首位,允许用户在屏幕上同时拥有两个活动,无论是来自不同的应用程序还是同一个应用程序。本演讲将涵盖您需要执行的操作,以确保您的应用程序可以在多窗口中启动,以及如何利用额外的屏幕空间并同时显示多个活动。
您在不同形态因素上的相机应用程序
从历史上看,您的应用程序可以驻留在同一个窗口中,并且在其整个生命周期中保持固定的方向。但是,随着可折叠设备等新型态因素和多窗口和多显示器等新显示模式的出现,您不能再假设这一点。让我们看看在开发针对大屏幕和可折叠设备的应用程序时,一些最重要的注意事项。
在每个屏幕尺寸上使用导航 Compose
编写一个可以处理手机、ChromeOS 设备以及介于两者之间的所有内容的单一导航系统可能看起来令人生畏。我们将讨论处理此工作的方法以及如何将 Navigation Compose 与规范布局一起使用,以构建适用于大屏幕的最佳体验,并无缝适应手机屏幕。
Insets:Compose 版本
不要害怕边缘到边缘!了解 Insets 如何向您的应用程序传达系统装饰放置的位置,以及新的 Compose API 如何帮助您的内容自动随系统栏、软件键盘和任务栏移动。
跨平板电脑和 ChromeOS 实现键盘和鼠标支持的关键
Android 目前拥有超过 2.7 亿台活跃的大屏幕设备。随着每台新的大屏幕设备的推出,优化应用程序以支持键盘和鼠标的重要性持续增长。本演讲深入探讨了您可以在应用程序中引入和优化键盘和鼠标支持的代码。
跨设备开发助手
在本演讲中,您将学习如何利用 Android Studio 中的语音优先 API 和工具,通过 Google Assistant 为各种设备类型的应用程序带来语音功能。
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,每次点击、滑动和滚动时都感觉充满活力。在本课程中,我们将介绍 3 个平台功能,以帮助您使用高级布局、令人愉悦的导航和可访问的颜色系统来完善您的应用程序。用户期望他们的应用程序拥有高质量的体验——开发人员如何满足这一期望?
用于设备上机器学习的硬件加速
硬件加速可以显着减少机器学习功能的推理延迟,并允许您提供可能无法通过其他方式实现的实时设备体验。如今,除了 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 Audio 耳机的支持,并在未来一年内,硬件设备将上市。本次技术研讨会将重点介绍电信 API 如何支持 BLE Audio 耳机,以实现高达 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 图形着色语言)。