通过实例学习 Android 的 Kotlin 协程
关于本项目:
- 这个项目适合想要入门 Kotlin 协程的人。
- 我尝试添加了我们在 Android 项目中经常实现的示例。
关于我
你好,我是 Amit Shekhar,Outcome School 的联合创始人 • 2010-14 年就读于印度理工学院 • 我已经教导和指导过许多开发者,他们的努力使他们获得了高薪的技术工作,帮助许多科技公司解决了他们独特的问题,并创建了许多被顶级公司使用的开源库。我热衷于通过开源、博客和视频分享知识。
你可以在以下平台上与我联系:
从本项目学习 Kotlin 协程的步骤
- 从这篇博客学习 Kotlin 协程的所有概念:掌握 Kotlin 协程
- 了解 Kotlin 协程中的挂起与阻塞:Kotlin 协程中的挂起 vs 阻塞
- 从这里学习 Kotlin 协程中的 Launch vs Async:Kotlin 协程中的 Launch vs Async
- 从这里了解调度器:Kotlin 协程中的调度器
- 从这里了解
coroutineScope
vssupervisorScope
:coroutinescope vs supervisorscope - 博客 Kotlin 协程中的 suspend 函数
- 博客 Kotlin withContext vs Async-await
- 博客 Kotlin 中从回调到协程
- 博客 Retrofit 与 Kotlin 协程
- 博客 使用 Kotlin 协程进行并行多网络调用
- 博客 Room 数据库与 Kotlin 协程
- 博客 使用 Kotlin 协程和 LiveData 对 ViewModel 进行单元测试
- 然后,只需克隆、构建、运行项目,并开始通过示例学习 Kotlin 协程。
您将从这个学习 Kotlin 协程项目中学到以下内容:
- 在 Android 中实现 Kotlin 协程的步骤指南。
- 使用 Kotlin 协程在后台执行简单任务。
- 使用 Kotlin 协程串行执行任务。
- 使用 Kotlin 协程并行执行任务。
- 使用 Kotlin 协程并行进行两次网络调用。
- Kotlin 协程中的作用域是什么?
- 使用 Kotlin 协程取消后台任务。
- Kotlin 协程中的异常处理。
- 将 Kotlin 协程与 Retrofit 一起使用。 博客:Retrofit 与 Kotlin 协程
- 将 Kotlin 协程与 Room 数据库一起使用。
- 将 Kotlin 协程与各种第三方库一起使用。
- 使用 Kotlin 协程为任务添加超时。
- 为使用 Kotlin 协程的 ViewModel 编写单元测试。
Android 开发中的 Kotlin 协程示例:Activity 和 ViewModel
-
单个网络调用: 学习如何使用 Kotlin 协程进行网络调用。这是 Android 应用开发中一个非常简单的用例。 博客:Retrofit 与 Kotlin 协程
-
串行网络调用: 学习如何使用 Kotlin 协程进行串行网络调用。当您想要进行依赖于另一个网络调用的网络调用时,这很有用。
-
并行网络调用: 学习如何使用 Kotlin 协程进行并行网络调用。当您想要并行进行相互独立的网络调用时,这很有用。
-
Room 数据库操作: 学习如何使用 Kotlin 协程在数据库中获取或插入实体。当您在 Android 应用中使用 Room 数据库时,这很有用。
-
长时间运行任务: 学习如何使用 Kotlin 协程运行长时间运行的任务。如果您想在后台线程中使用 Kotlin 协程执行任何任务,这将很有用。
-
两个长时间运行任务: 学习如何使用 Kotlin 协程并行运行两个长时间运行的任务。
-
超时: 学习如何使用 Kotlin 协程为任务添加超时。如果您想为 Android 中的任何后台任务添加超时,这将非常有用。
-
Try-Catch 错误处理: 学习如何使用 Try-Catch 在 Kotlin 协程中处理错误。
-
CoroutineExceptionHandler: 学习如何使用 CoroutineExceptionHandler 在 Kotlin 协程中处理错误。
-
忽略错误并继续: 学习如何使用
supervisorScope
来忽略一个任务的错误并继续执行其他任务。换句话说,如果在一个监督器下有多个子作业并行运行,一个子作业失败,我们可以继续执行其他作业。 -
单元测试: 学习如何为使用 Kotlin 协程的 ViewModel 编写单元测试。
如果这个项目以任何方式帮助到你,请通过给这个项目加星 :star: 来表达你的爱 :heart: :v:
许可证
Copyright (C) 2024 Amit Shekhar
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
为学习 Kotlin 协程做贡献
只需提交拉取请求。你就加入了!
谢谢
Amit Shekhar
Outcome School 联合创始人
你可以在以下平台上与我联系: