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