Kotlin Coroutines by Tutorials 2nd Edition
作者: Filip Babić and Nishant Srivastava
语言: 英文
出版年份: 2019
编程语言: Kotlin
移动开发: Android
下载链接:
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。

书籍摘要

《Kotlin Coroutines by Tutorials》是由 Filip Babić 和 Nishant Srivastava 合著的第二版书籍,由 Razeware LLC 出版。本书深入探讨了 Kotlin 协程(Coroutines)在多线程编程中的应用,旨在帮助开发者掌握如何利用 Kotlin 协程简化并发编程,提高代码的可读性和性能。

作者简介

  • Filip Babić:来自克罗地亚的资深 Android 开发者,曾在 Five Agency 工作,参与开发了 RosettaStone 语言学习应用和 AccuWeather 天气报告应用等知名项目。他热衷于推动 Kotlin 在 Android 应用中的应用,并积极参与社区活动,致力于培养新一代开发者。
  • Nishant Srivastava:在柏林的 Soundbrenner 担任高级 Android 工程师,同时也是开源爱好者。他曾在 OmniLabs 和 Silverpush 等初创公司工作,积累了丰富的 Android SDK 开发和音频数字信号处理经验。

内容概述

本书分为四个部分,涵盖了从基础到高级的 Kotlin 协程知识。

第一部分:协程基础

  • 第 1 章:介绍异步编程的概念及其在现代开发中的重要性,探讨多线程的必要性以及如何解决阻塞调用导致的界面卡顿问题。
  • 第 2 章:指导读者如何设置开发环境,包括 IntelliJ IDEA 和 Android Studio 的安装与配置。
  • 第 3 章:通过示例代码介绍协程的基本概念,如协程的启动、Job 对象以及协程的生命周期管理。
  • 第 4 章:深入讲解挂起函数(Suspending Functions),包括其与普通函数的区别、如何实现以及如何将现有代码转换为挂起函数。
  • 第 5 章:探讨 async/await 模式,展示如何使用该模式高效地处理异步任务并返回结果。
  • 第 6 章:介绍协程上下文(Coroutine Context),包括上下文的作用、如何创建自定义上下文以及上下文与协程生命周期的关系。
  • 第 7 章:讨论协程上下文切换和调度器(Dispatchers),解释不同调度器的类型及其适用场景。

第二部分:通道与流

  • 第 10 章:介绍如何使用 yield 构建序列和迭代器,探讨序列的懒加载特性及其在处理无限集合时的优势。
  • 第 11 章:详细讲解通道(Channels)的概念,包括通道的创建、使用以及如何通过通道实现生产者-消费者模式。
  • 第 12 章:探讨广播通道(Broadcast Channels),解释其与普通通道的区别以及如何在多个接收者之间共享数据。
  • 第 13 章:介绍生产者和演员(Actors)模式,展示如何利用协程实现高效的多线程通信。
  • 第 14 章:初步介绍协程流(Flows),探讨其与传统序列和流的区别以及如何利用协程流处理数据流。

第三部分:协程与 Android

  • 第 16 章:回顾 Android 在协程出现之前的并发机制,如 Handler、Looper 和 AsyncTask,并介绍协程如何简化这些机制。
  • 第 17 章:详细讲解如何在 Android 应用中使用协程,包括如何在 UI 线程和后台线程之间切换以及如何处理应用生命周期。
  • 第 18 章:进一步探讨在 Android 应用中使用协程的高级主题,如异常处理、日志记录、调试和测试。

第四部分:总结

  • 第 19 章:总结全书内容,回顾协程的核心概念,并展望其在 Kotlin 和 Android 开发中的未来发展方向。

适用人群

本书适合有一定 Kotlin 编程基础的开发者,尤其是那些希望在 Android 开发中使用协程来简化并发编程的开发者。通过阅读本书,读者将能够掌握协程的基本概念、高级特性以及在实际项目中的应用方法。

特色与优势

  • 实战案例丰富:书中通过大量示例代码和项目,帮助读者更好地理解和应用协程。
  • 循序渐进:内容从基础到高级逐步深入,适合不同层次的读者学习。
  • 社区支持:提供了官方论坛和数字版资源,方便读者交流和学习。

总之,《Kotlin Coroutines by Tutorials》是一本全面、实用且易于理解的 Kotlin 协程学习指南,无论是初学者还是有一定经验的开发者都能从中受益。

期待您的支持
捐助本站