×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • ISBN:9787302591207
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:408
  • 出版时间:2021-10-01
  • 条形码:9787302591207 ; 978-7-302-59120-7

本书特色

本书几乎涵盖了Kotlin所有的特性,包括函数特性、面向对象特性、元编程、DSL、跨平台开发、协程、Flow、RxJava、Jetpack等,内容非常丰富。 本书还介绍了使用Kotlin开发的多个实例,如移动端实战、服务端实战、响应式开发实战等,这些例子是对本书知识的综合运用,对使用Kotlin进行开发的读者具备较大的参考价值。 本书是编者系统学习Kotlin和多年实战经验的积累和总结,通过非常简易的代码讲解Kotlin语言的各种特性,代码实例不会涉及过于抽象的业务场景,但会通过具体代码实例对Kotlin语言背后的设计思想和原理进行详细分析,力图使读者通过实际操作快速上手和深入理解Kotlin语言的相关知识。 本书面向所有希望从事 Android 开发和服务端开发的IT从业人员,希望读者通过阅读本书,使用Kotlin开发应用程序的技能更上一层楼。

内容简介

本书详细介绍了Kotlin语言方方面面的特性,包括各种类型的函数,贯彻本书始终的Lambda表达式,有别于Java的委托、泛型,灵活、简洁的DSL,常用的语法糖,相比线程更加轻量级的协程,参考RxJava实现的Flow,等等。本书还提供了大量涉及移动端、服务端甚至桌面端的案例,这些案例都是编者使用Kotlin之后的实践和心得,同时包含很多编者封装的library,供读者参考、借鉴和使用。 本书适合有一定Kotlin语法基础的读者使用,尤其适合移动端和服务端的开发人员使用,也可以用作大专院校和培训机构的教学参考书。

目录

目 录

第1章 认识Kotlin 1

1.1 Kotlin简介 1

1.2 Kotlin的发展 2

1.3 总结 3

第2章 Kotlin的函数与类 4

2.1 函数的基本概念 4

2.2 Kotlin的类(一) 11

2.3 Kotlin的类(二) 18

2.4 总结 24

第3章 Kotlin的函数式编程 25

3.1 函数式编程与高阶函数 25

3.2 Lambda表达式 29

3.3 集合、序列和Java中的流 38

3.4 总结 41

第4章 内联函数与扩展函数 42

4.1 内联函数 42

4.2 内联属性 48

4.3 扩展函数 48

4.4 扩展属性 56

4.5 总结 60

第5章 委托 61

5.1 委托介绍 61

5.2 Kotlin的委托模式和委托属性 64

5.3 lateinit和by lazy 69

5.4 总结 73

第6章 泛型 74

6.1 类型擦除 74

6.2 型变 80

6.3 泛型约束、类型投影与星号投影 83

6.4 总结 86

第7章 元编程 87

7.1 元编程 87

7.2 Kotlin反射概述 88

7.3 Java反射和Kotlin反射(上) 90

7.4 Java反射和Kotlin反射(下) 96

7.5 总结 99

第8章 DSL的构建 100

8.1 DSL介绍 100

8.2 构建一个DSL的多种方式 101

8.3 总结 108

第9章 常用语法糖与设计模式 110

9.1 运算符重载 110

9.2 中缀表达式 112

9.3 作用域函数 114

9.4 Contract契约 118

9.5 在data class中使用MapStruct 122

9.6 更好地使用设计模式 126

9.7 总结 130

第10章 跨平台开发 131

10.1 跨平台的简单介绍 131

10.2 利用Ktor-Client实现跨平台网络请求 132

10.3 总结 142

第11章 协程及其应用 143

11.1 协程的基本概念 143

11.2 Coroutine builders 149

11.3 挂起函数 152

11.4 协程的上下文和调度 156

11.5 协程的作用域 CoroutineScope 162

11.6 Channel机制 164

11.7 总结 170

第12章 Flow的基本使用 171

12.1 Flow的使用 171

12.2 Flow和RxJava 177

12.3 Flow的异常处理 182

12.4 Flow的线程操作 185

12.5 Flow其他的操作符 189

12.6 总结 195

第13章 RxJava的新特性及常用操作符 198

13.1 RxJava入门 198

13.2 RxJava 3新特性描述 204

13.3 常用操作符讲解 207

13.4 总结 227

第14章 RxJava的核心机制 229

14.1 ObservableSource、Observable、Observer的同流合污 229

14.2 恐怖的Function机制 230

14.3 线程的决策者Scheduler 231

14.4 Observeable五兄弟的差异性 235

14.5 背压策略 241

14.6 总结 243

第15章 Jetpack 244

15.1 Jetpack介绍 244

15.2 Lifecycle 249

15.3 ViewModel 254

15.4 LiveData 261

15.5 Room的用法 267

15.6 Navigation用法详解 276

15.7 总结 287

第16章 Android实战 288

16.1 构建一个日志框架 288

16.2 网络诊断工具 297

16.3 使用Netty构建一个在Android上运行的Web服务器 304

16.4 实现协程版本的EventBus 313

16.5 总结 322

第17章 响应式开发实战 323

17.1 封装一个基于RxJava的任务框架RxTask 323

17.2 基于Kotlin、RxJava实现的有限状态机 339

17.3 Kotlin、RxJava以及传统的机器学习在手机质检上的应用 353

17.4 总结 361

第18章 服务端实战 362

18.1 使用Ktor快速开发Web项目 362

18.2 使用WebFlux + R2DBC开发Web项目 369

18.3 使用NetDiscovery开发网络爬虫 376

18.4 实现智能硬件的远程控制系统(上) 388

18.5 实现智能硬件的远程控制系统(下) 397

18.6 总结 408


展开全部

作者简介

  沈哲,现就职于万物新生(爱回收),担任创新中心技术总监,负责AIoT产品相关的研发工作。具有多年的服务端、移动端研发经验,熟悉函数响应式编程,对计算机视觉有一定的研究。曾负责过一款移动端深度链接的产品,日活数千万,该产品已于2019年初以千万级别的交易额卖给极光,后更名为极光魔链。出版著作《Rxlava 2.x实战》。    易庞宙,Android开源爱好者,RxTask库、全面屏适配库以及一些Android常用开源工具的开发者,CSDN博主。负责过搜床科技集团Android开发,例如xbed、酒店自助入住App开发等,目前就职于广州极飞科技股份有限公司,担任高级Android开发工程师。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航