欢迎学习由 Google Developers 培训团队设计的“Android Kotlin 基础知识”课程。本课程提供了一系列 Codelab,引导您了解使用 Kotlin 构建 Android 应用的基础知识。在本课程中,您将了解 Android Kotlin 编程的基本概念,并构建各种应用。
我们建议您按顺序学习这些 Codelab,但并不强制您这样做。
要了解 Google Developers 培训团队创建的其他 Android 培训内容,请访问 Google Developers 培训:Android。
前提条件
如需学习“Android Kotlin 基础知识”课程,我们建议您在 Java、C++ 或 Smalltalk 等成熟的面向对象的编程语言方面拥有至少 2 年经验。
您应熟悉 Udacity 的面向编程人员的 Kotlin 训练营免费课程中的所有概念、工具和词汇。
您还应熟悉 GitHub 的导航操作以及以下概念:
- 基本的多线程处理和异常处理。
- 大体了解代码是如何构建、编译和执行的。
对什么是函数式编程有所了解也没关系,但这不是一项强制性要求。
入门和解决方案代码
在学习“Android Kotlin 基础知识”课程中的 Codelab 时,您将创建应用。入门应用的源代码以及您创建的应用的解决方案代码位于 GitHub 中。
“Android Kotlin 基础知识”课程包含以下课程:
- 第 1 课:构建首个应用
- 第 2 课:布局
- 第 3 课:导航
- 第 4 课:activity 和 fragment 生命周期
- 第 5 课:架构组件
- 第 6 课:Room 数据库和协程
- 第 7 课:RecyclerView
- 第 8 课:连接到互联网
- 第 9 课:代码库
- 第 10 课:设计面向所有人的应用
每节课都包含多个 Codelab。
第 1 课:构建首个应用
本课将介绍如何设置 Android Studio 以使用 Kotlin,以及如何构建应用。您将首先构建“Hello World”,然后构建使用图片文件和点击处理程序的应用。您将了解 Android 项目的结构、如何在 Android Kotlin 应用中使用和修改视图,以及如何确保应用向后兼容。您还将了解 API 级别和 Android Jetpack 库。
第 1 课包含以下 Codelab:
第 2 课:布局
在本课中,您将学习如何使用 Android Studio 布局编辑器创建线性布局和约束布局。您将创建应用以获取和显示用户输入、响应用户点按,以及更改视图的可见性和颜色。本课还将介绍如何使用数据绑定消除对 findViewById()
的低效调用。
第 2 课包含以下 Codelab:
第 3 课:导航
在本课中,您将学习如何在应用中创建有用的导航。您将创建一个 fragment 并将其添加到应用中,然后使用 Android Studio 导航图向应用添加导航。您将向应用添加抽屉式导航栏和选项菜单,并使用应用的返回堆栈来更改系统返回按钮的目的地。最后,您将了解如何从应用内调用外部 activity。
第 3 课包含以下 Codelab:
第 4 课:activity 和 fragment 生命周期
在本课中,您将了解 activity 和 fragment 生命周期,以及如何管理复杂的生命周期情形。您将使用包含多个 Android 生命周期方面的错误的入门应用。您将向应用中添加日志记录功能以更好地了解应用的生命周期事件,然后修复应用包含的错误并为应用添加一些增强功能。您还将了解 Android Jetpack 的生命周期库,它可以帮助您使用更有条理且更易于维护的代码管理生命周期事件。
第 4 课包含以下 Codelab:
第 5 课:架构组件
本课将介绍如何使用 ViewModel
和 LiveData
对象。您将了解如何使用 ViewModel
对象让数据在屏幕旋转等配置更改后继续留存。您可以将应用的界面数据转换为封装的 LiveData
,并添加观察器方法,以便在 LiveData
的值发生变化时收到通知。
您还可以将 LiveData
和 ViewModel
与数据绑定集成,这样布局中的视图就可以直接与 ViewModel
对象通信,而无需使用应用的 fragment 来传达信息。此技巧可以简化代码,让您无需在界面控制器中使用点击处理程序。
第 5 课包含以下 Codelab:
- 5.1 ViewModel 和 ViewModelProvider
- 5.2:LiveData 和 LiveData 观察者
- 5.3:使用 ViewModel 和 LiveData 绑定数据
- 5.4:LiveData 转换
第 6 课:Room 数据库和协程
本课将介绍如何使用 Room
数据库。Room
负责处理数据库设置和配置方面的许多繁琐工作,并简化与数据库交互的代码。您将了解如何使用 Kotlin 协程将数据库操作移出主线程,并详细了解如何在应用导航中使用 ViewModel
和 LiveData
。
第 6 课包含以下 Codelab:
第 7 课:RecyclerView
本课将介绍如何使用 RecyclerView
高效地显示列表项和网格。对于复杂的列表和网格,您将了解如何使 RecyclerView
更高效,并让您的代码更易于维护和扩展。了解如何使 RecyclerView
中的项可点击。您还将学习如何向 RecyclerView
中的列表和网格添加多个 ViewHolder 和布局,例如,在应用中添加标头。
第 7 课包括以下 Codelab:
- 7.1 RecyclerView 基础知识
- 7.2 DiffUtil 与 RecyclerView 的数据绑定
- 7.3 GridLayout 和 RecyclerView
- 7.4 与 RecyclerView 项进行交互
- 7.5 RecyclerView 中的标头
第 8 课:连接到互联网
本课将介绍如何使用社区开发的库连接到网络服务以检索和显示数据。您将了解如何处理潜在的网络错误,以及如何使用 Glide 库加载和显示互联网中的照片。您还可以构建 RecyclerView
并使用它来显示图片网格。
第 8 课包括以下 Codelab:
第 9 课:代码库
本课将介绍如何添加代码库以抽象化数据层,并为 Android Kotlin 应用的其余部分提供干净的 API。您还将了解如何使用 WorkManager
以高效、优化的方式调度后台任务。
第 9 课包括以下 Codelab:
第 10 课:面向所有人进行设计
本节课将为您介绍有关美观和易于访问的 Android 应用设计的基本知识,并指导您构建用于查找和显示 Google 开发者社区 (GDG) 聚会信息的应用。
第 10 课包含以下 Codelab:
开始学习下一课:
学习第一个 Codelab 1.0 安装 Android Studio,开始“Android Kotlin 基础知识”课程。