Android Compose 入门是一个自定进度的在线课程,讲解如何使用最新的最佳实践构建 Android 应用程序。它涵盖了使用 Jetpack Compose 构建应用程序的基础知识,Jetpack Compose 是在 Android 上构建用户界面的推荐工具包。

课程目标

  • 了解 Kotlin 和 Jetpack Compose 的基础知识
  • 构建一系列基本的 Android 应用程序
  • 根据现代 Android 开发实践使用 Android 应用程序架构、Jetpack 库和处理数据

先决条件

  • 基本计算机技能
  • 基本数学技能
  • 能够运行 Android Studio 的计算机(参见 系统要求
  • (可选)Android 设备
单元 1:您的第一个 Android 应用程序

3 条路径 | 持续时间:10 小时

学习编程基础知识并创建您的第一个 Android 应用程序。
  • 编写显示文本输出的简单 Kotlin 程序。
  • 下载并安装 Android Studio。
  • 构建一个具有简单用户界面的 Android 应用程序,该界面显示文本和图像。
  • 在设备或模拟器上运行应用程序。
Kotlin 简介

路径 1 | 持续时间:3 小时
学习 Kotlin 的入门编程概念。

开始之前
Codelab
欢迎使用 Android Compose 入门
视频
您在 Kotlin 中的第一个程序
Codelab
在 Kotlin 中创建和使用变量
Codelab
在 Kotlin 中创建和使用函数
Codelab
练习:Kotlin 基础知识
Codelab
下一步是什么?
视频
测验
设置 Android Studio

路径 2 | 持续时间:4 小时
安装和设置 Android Studio,创建您的第一个项目,并在设备或模拟器上运行它。

Android Studio 简介
视频
下载并安装 Android Studio
Codelab
创建您的第一个 Android 应用程序
Codelab
在 Android 模拟器上运行您的第一个应用程序
Codelab
如何连接您的 Android 模拟器
Codelab
下一步是什么?
视频
测验
构建基本布局

路径 3 | 持续时间:3 小时
构建一个具有简单用户界面的 Android 应用程序,该界面显示文本和图像。

Jetpack Compose 简介
视频
设计生日贺卡应用程序
视频
使用文本可组合项构建一个简单的应用程序
Codelab
将图像添加到您的 Android 应用程序
Codelab
练习:Compose 基础知识
Codelab
项目:创建名片应用程序
Codelab
下一步是什么?
视频
测验
单元 2:构建应用程序 UI

3 条路径 | 持续时间:21 小时

继续学习 Kotlin 的基础知识,并开始构建更多交互式应用程序。
  • 在 Kotlin 中使用条件语句、函数类型、类和 Lambda 表达式。
  • 了解合成和重新合成的工作原理。
  • 将按钮添加到应用程序 UI 并响应用户点击。
  • 创建一个使用用户输入数据的应用程序。
  • 了解如何使用状态来显示数据,并在数据更新时自动反映更改。
  • 编写单元测试以测试隔离的函数。
Kotlin 基础知识

路径 1 | 持续时间:8 小时
学习更多 Kotlin、面向对象编程和 Lambda 表达式的基础知识。

Kotlin 基础知识
视频
在 Kotlin 中编写条件语句
Codelab
在 Kotlin 中使用可空性
Codelab
在 Kotlin 中使用类和对象
Codelab
在 Kotlin 中使用函数类型和 Lambda 表达式
Codelab
练习:Kotlin 基础知识
Codelab
下一步是什么?
视频
测验
将按钮添加到应用程序

路径 2 | 持续时间:6 小时
了解如何在 Android 应用程序中响应按钮点击。

骰子滚动应用程序简介
视频
创建一个交互式骰子滚动应用程序
Codelab
在 Android Studio 中使用调试器
Codelab
练习:点击行为
Codelab
下一步是什么?
视频
测验
与 UI 和状态交互

路径 3 | 时长:7 小时
创建一个计算器应用程序,用于根据用户输入计算小费。

了解 Compose 中的状态
视频
计算器简介
视频
Compose 中的状态简介
Codelab
计算自定义小费
Codelab
编写自动化测试
Codelab
项目:创建一个艺术空间应用程序
Codelab
下一步是什么?
视频
测验
单元 3:显示列表并使用 Material Design

3 条路径 | 时长:15 小时

构建显示数据列表的应用程序,并学习如何使用 Material Design 使应用程序更美观。
  • 在 Kotlin 中使用数据类、函数和集合。
  • 在应用程序中创建一个可滚动的列表,该列表显示文本和图像。
  • 为列表项添加点击监听器以进行交互。
  • 向应用程序添加应用栏并修改应用程序主题。
  • 使用 Material Design 构建现代且直观的用户界面,使用颜色、形状和排版。
更多 Kotlin 基础知识

路径 1 | 时长:8 小时
学习更多 Kotlin 编程概念,这些概念将使你能够构建更有趣和有趣的 Android 应用程序。

更多 Kotlin 基础知识
视频
泛型、对象和扩展
Codelab
在 Kotlin 中使用集合
Codelab
使用集合的高阶函数
Codelab
练习:类和集合
Codelab
测验
构建一个可滚动的列表

路径 2 | 时长:4 小时
使用 Compose 创建一个显示文本和图像的可滚动列表的应用程序。

肯定应用程序简介
视频
添加可滚动的列表
Codelab
更改应用程序图标
Codelab
练习:构建一个网格
Codelab
下一步是什么?
视频
测验
构建美观的应用程序

路径 3 | 时长:3 小时
使用 Material Design、动画和无障碍最佳实践使你的应用程序更美观且更易于使用。

Compose 中的 Material Design 简介
视频
Jetpack Compose 中的 Material 主题
Codelab
Jetpack Compose 中的简单动画
Codelab
测试无障碍性
Codelab
练习:构建超级英雄应用程序
Codelab
项目:创建一个 30 天应用程序
Codelab
下一步是什么?
视频
测验
单元 4:导航和应用程序架构

3 条路径 | 时长:27 小时

学习应用程序架构的最佳实践,以构建更复杂的应用程序。增强用户在应用程序中不同屏幕之间、进入和退出应用程序的能力,以获得一致且可预测的用户体验。
  • 解释活动及其生命周期。
  • 了解现代 Android 架构。
  • 使用 StateFlow 和 UDF 模式来处理状态和事件。
  • 添加 ViewModel 以保存数据和状态。
  • 使用 Compose 设置和使用 Navigation 组件。
  • 了解响应式 UI 是什么。
  • 使用窗口类大小为不同屏幕尺寸构建。
  • 向应用程序添加导航抽屉。
架构组件

路径 1 | 时长:9 小时
了解应用程序架构以及如何使用 ViewModel、UI 状态和 StateFlow 来构建更复杂的应用程序。

欢迎来到单元 4
视频
活动生命周期的阶段
Codelab
应用程序架构简介
视频
架构:UI 层
视频
Compose 中的 ViewModel 和状态
Codelab
编写单元测试以测试 ViewModel
Codelab
练习:向甜点点击器添加 ViewModel
Codelab
下一步是什么?
视频
测验
Jetpack Compose 中的导航

路径 2 | 时长:6 小时
学习如何使用 Navigation 组件构建具有更多屏幕的更复杂的应用程序,以及如何在不同可组合项之间导航和传递数据。

导航和纸杯蛋糕应用程序简介
视频
Codelab
测试纸杯蛋糕应用程序
Codelab
练习:添加导航
Codelab
下一步是什么?
视频
测验
适应不同的屏幕尺寸

路径 3 | 时长:13 小时
在本路径中,你将学习如何使你的应用程序适应不同的屏幕尺寸并提供更好的用户体验,以及如何测试自适应 UI。

自适应布局
视频
回复应用程序简介
视频
使用动态导航构建自适应应用程序
Codelab
构建具有自适应布局的应用程序
Codelab
练习:构建运动应用程序
Codelab
项目:创建一个我的城市应用程序
Codelab
下一步是什么?
视频
测验
单元 5:连接到互联网

2 条路径 | 时长:14 小时

使用 Kotlin 协程同时执行多个任务,并学习有关 HTTP 和 REST 的知识,以便使用 Retrofit 从互联网获取数据。然后使用 Coil 库在应用程序中显示图像。
  • 描述并发性的基础知识以及如何在 Android 应用程序中使用协程。
  • 定义并理解现代 Android 应用程序架构中的数据层。
  • 实施存储库以集中数据访问。
  • 使用 Retrofit 从远程服务器检索数据。
  • 使用 Coil 库加载和显示图像。
  • 实施依赖注入以解耦类,使测试、维护和扩展应用程序变得更容易。
从互联网获取数据

路径 1 | 时长:6 小时
实施协程以并发执行任务,而不会阻塞应用程序,并学习有关 HTTP 和 REST 的知识,以便从互联网获取数据。

连接到互联网
视频
Kotlin Playground 中的协程简介
Codelab
Android Studio 中的协程简介
Codelab
HTTP/REST 简介
视频
从互联网获取数据
Codelab
下一步是什么?
视频
测验
加载和显示来自互联网的图像

路径 2 | 时长:3 小时
将架构最佳实践应用到应用程序中,并使用 Coil 下载和显示图像。

架构:数据层
视频
添加存储库和手动依赖注入
Codelab
加载和显示来自互联网的图像
Codelab
练习:构建两栖动物应用程序
Codelab
项目:创建一个书架应用程序
Codelab
下一步是什么?
视频
测验
单元 6:数据持久性

3 条路径 | 时长:10 小时

学习如何将数据本地存储在设备上,并使应用程序在任何网络中断时都能正常工作,从而获得流畅一致的用户体验。
  • 学习 SQL 基础知识,以便向 SQLite 数据库插入、更新和删除数据。
  • 使用 Room 库向 Android 应用程序添加数据库。
  • 使用数据库检查器测试和调试数据库问题。
  • 使用 Preference DataStore 存储用户首选项。
SQL 简介

路径 1 | 时长:2 小时
学习如何使用 SQL 读取和操作关系数据库中的数据。

数据库和 SQL 简介
视频
使用 SQL 读取和写入数据库
Codelab
下一步是什么?
视频
测验
使用 Room 进行数据持久化

路径 2 | 持续时间:6 小时
使用 Room 库轻松创建和使用 Android 应用中的关系数据库。

Kotlin Flows 实践
视频
测试 Flows
文章
使用 Room Kotlin API
视频
使用 Room 持久化数据
Codelab
使用 Room 读取和更新数据
Codelab
实践:构建公交时刻表应用程序
Codelab
下一步是什么?
视频
测验
使用 DataStore 存储和访问使用密钥的数据

路径 3 | 持续时间:2 小时
了解如何在 Android 应用中使用 Preferences DataStore 存储简单的键值对数据。

Datastore 简介
视频
Preferences Datastore
视频
使用 DataStore 在本地保存首选项
Codelab
项目:创建一个航班搜索应用程序
Codelab
下一步是什么?
视频
测验
第七单元:WorkManager

1 个路径 | 持续时间:6 小时

使用 Android Jetpack 的 WorkManager API 来调度必要的后台工作,例如数据备份或最新内容下载,即使应用程序退出或设备重启,这些工作也会继续运行。
  • 定义需要在后台工作中运行的长时间运行的任务。
  • 将 WorkManager 添加到 Android 应用中。
  • 创建 Worker 对象并排队工作。
  • 对 WorkRequests 创建约束。
  • 使用后台任务检查器来检查和调试 WorkManager。
使用 WorkManager 调度任务

路径 1 | 持续时间:3 小时
了解何时以及如何使用 WorkManager,这是一个 API,可以处理无论应用程序进程是否仍在运行都需要运行的后台工作。

WorkManager 简介
视频
实现 WorkManager
视频
使用 WorkManager 进行后台工作
Codelab
高级 WorkManager 和测试
Codelab
实践:构建浇水提醒应用程序
Codelab
测验
第八单元:视图和 Compose

2 个路径 | 持续时间:4 小时

了解如何在同一个应用程序中并排使用 Compose 和基于视图的旧 UI 工具包。在本单元中,您将学习互操作性 API 和最佳实践,以便将新功能添加到使用视图构建的现有应用程序中,使用使用视图的现有库,或者使用 Compose 中尚不可用的 UI 组件。
  • 了解基于视图的 UI 工具包并使用 XML 构建应用程序 UI。
  • 在使用视图构建的应用程序中添加一个可组合项。
  • 将导航组件添加到应用程序中,并使用它在片段之间导航。
  • 使用 AndroidView 显示视图。
  • 在 Compose 应用程序中添加现有的基于视图的 UI 组件。
Android 视图和 Compose 在视图中

路径 1 | 持续时间:3 小时
了解使用 Android 视图构建应用程序的基础知识以及如何在使用视图构建的应用程序中添加一个可组合项。

Android 视图系统
视频
使用视图构建 Android 应用程序
Codelab
Compose 在视图中
视频
将 Compose 添加到传统应用程序
Codelab
测验
Compose 中的视图

路径 2 | 持续时间:1 小时
了解如何在使用 Jetpack Compose 构建的应用程序中添加和使用现有的视图。

Compose 中的视图
视频
Compose 中的视图互操作性
Codelab
将 Compose 添加到传统应用程序
Codelab
测验