书籍详情
Kotlin移动应用开发
作者:彼得·佐默霍夫(Peter Sommerhoff) 著
出版社:机械工业出版社
出版时间:2020-06-01
ISBN:9787111650935
定价:¥99.00
购买这本书可以去
内容简介
近年来,Kotlin已逐渐成为Android应用程序开发人员的优选语言。 本书通过大量的代码对Kotlin进行了深入浅出的讲解,并通过两个Android应用程序开发来指导读者进行实践,以帮助读者使用Kotlin编写出更健壮、更易维护的Android应用程序。全书分两部分,共10章。 第一部分(第1~6章)从细节入手讲解Kotlin的语言特性。第1章概述Kotlin,第2章介绍Kotlin的基本语言结构(如控制流、函数和异常),第3章展示Kotlin中如何使用函数式编程以及函数式编程的优点,第4章讲解Kotlin中如何处理面向对象,第5章讨论与Java的互操作性,第6章涵盖以协程为主要内容的并发性。 第二部分(第7~10章)通过完成两个Android应用来将第一部分学到的知识加以实践。第7章和第8章分别介绍使用Kotlin开发一个待办事项应用Kudoo App和一个为使用者提供营养数据的应用Nutrilicious,第9章涵盖综合使用Kotlin的语言特性来创建简单的领域特定语言,第10章为Java迁移到Kotlin提供指导。 本书适合想要学习Kotlin并利用它来开发Android应用程序的所有读者阅读。
作者简介
【作者简介】 ★Peter Sommerhoff 一位对教学充满热情的软件开发者,为此,他创立了CodeAlong.TV。如今,他为全球35000多名积极进取的学生教授开发与设计课程。他拥有德国亚琛工业大学计算机科学硕士学位。 【译者简介】 ★陈洋 ThoughtWorks高级咨询师,常年从事并热衷于Android插件化、组件化的开发和培训工作,同时拥有PMP、网络工程师、Oracle OCP认证。 ★王亚鑫 ThoughtWorks咨询师,常年从事Android及后端开发工作,在使用Kotlin进行后端和Android开发方面具有丰富的经验。 ★康颢曦 ThoughtWorks高级咨询师,常年从事Android开发工作,对Kotlin组件化开发具有丰富的经验。2018年成都GDG和Android Bus社区讲师。
目录
★第一部分 学习Kotlin
●第1章 Kotlin简介2
1.1 Kotlin是什么2
1.2 Kotlin的目标和语言特性3
1.3 为什么在Android系统开发中使用Kotlin4
1.3.1 Android中的Java4
1.3.2 Android中的Kotlin5
1.4 Kotlin与Java 85
1.5 支持的工具与社区6
1.6 商业角度6
1.7 谁在使用Kotlin7
1.8 本章小结8
●第2章 走进Kotlin9
2.1 Kotlin REPL交互式编程命令行9
2.2 变量和数据类型10
2.2.1 变量声明10
2.2.2 基本数据类型11
2.2.3 类型推导12
2.3 条件语句13
2.3.1 将if和when作为语句13
2.3.2 条件表达式15
2.4 循环和范围17
2.4.1 while循环17
2.4.2 for循环17
2.5 函数19
2.5.1 函数签名19
2.5.2 单行表达式函数的简写方式20
2.5.3 main函数20
2.5.4 参数默认值和指定参数名称21
2.5.5 扩展函数22
2.5.6 中缀函数24
2.5.7 运算符函数25
2.6 空安全26
2.6.1 可空类型26
2.6.2 可空类型的使用27
2.7 相等性检查29
2.8 异常处理30
2.8.1 异常处理的原则30
2.8.2 Kotlin的异常处理31
2.8.3 Checked异常和Unchecked异常32
2.9 本章小结33
●第3章 Kotlin中的函数式编程34
3.1 函数式编程的目的34
3.2 函数36
3.3 Lambda表达式37
3.4 高阶函数38
3.5 集合的使用41
3.5.1 集合API在Kotlin与Java中的区别42
3.5.2 在Kotlin中实例化集合42
3.5.3 集合的访问和编辑43
3.5.4 过滤集合44
3.5.5 映射集合44
3.5.6 集合分组45
3.5.7 集合关联46
3.5.8 计算最小值、最大值,以及和46
3.5.9 集合排序46
3.5.10 折叠集合47
3.5.11 链式函数调用49
3.6 作用域函数49
3.6.1 let函数的使用49
3.6.2 apply函数的使用50
3.6.3 with函数的使用51
3.6.4 run函数的使用52
3.6.5 also函数的使用54
3.6.6 use函数的使用54
3.6.7 组合高阶函数55
3.6.8 带接收者的Lambda56
3.7 惰性序列57
3.7.1 惰性计算57
3.7.2 使用惰性序列58
3.7.3 惰性序列的性能60
3.8 本章小结62
●第4章 Kotlin中的面向对象63
4.1 类和对象的实例化63
4.2 属性64
4.3 方法73
4.4 主构造函数和次构造函数76
4.5 继承和重写规则78
4.6 类型检查和转换82
4.7 可见性84
4.8 数据类86
4.9 枚举89
4.10 密封类91
4.11 对象和伴生93
4.12 泛型97
4.13 本章小结112
●第5章 与Java的互操作性113
5.1 在Kotlin中使用Java代码113
5.2 在Java中使用Kotlin代码122
5.3 互操作的最佳实践137
5.4 本章小结138
●第6章 Kotlin中的并发140
6.1 并发140
6.1.1 普遍难题142
6.1.2 最先进的解决方案143
6.2 Kotlin中的协程146
6.2.1 引入协程146
6.2.2 基本概念147
6.2.3 挂起函数147
6.2.4 协程构建器150
6.2.5 生成器169
6.2.6 actors和channels171
6.2.7 并发样式178
6.2.8 协程实践178
6.2.9 内部实现183
6.3 本章小结185
★第二部分 使用Kotlin进行Android开发
●第7章 使用Kotlin进行Android应用程序开发:Kudoo App188
7.1 在Android上配置Kotlin188
7.2 编写待办事项列表应用Kudoo192
7.3 本章小结219
●第8章 使用Kotlin进行Android应用程序开发:Nutrilicious221
8.1 新建并配置项目222
8.2 为主页面添加RecyclerView223
8.3 调用Nutrition的API从USDA中拉取数据230
8.4 映射JSON数据和领域类236
8.5 在搜索逻辑中使用ViewModel241
8.6 增加搜索食品功能243
8.7 介绍Fragment I:实现搜索Fragment246
8.8 介绍Fragment II:实现收藏Fragment254
8.9 在Room数据库中存储用户收藏食品数据258
8.10 从USDA食品报告API中拉取营养详情数据265
8.11 集成详情页270
8.12 在数据库中存储食品详情277
8.13 为可操作的数据添加RDI282
8.14 优化用户体验286
8.15 本章小结288
●第9章 Kotlin DSL289
9.1 DSL简介289
9.2 在Kotlin中创建DSL292
9.3 DSL在Android布局中的应用—使用Anko301
9.4 DSL在Gradle构建脚本中的应用308
9.5 本章小结315
●第10章 迁移到Kotlin316
10.1 软件中的移植316
10.2 引领改变317
10.3 部分或整体迁移320
10.4 从何处开始322
10.5 工具支持325
10.6 本章小结327
附录 更多资源329
术语表332
●第1章 Kotlin简介2
1.1 Kotlin是什么2
1.2 Kotlin的目标和语言特性3
1.3 为什么在Android系统开发中使用Kotlin4
1.3.1 Android中的Java4
1.3.2 Android中的Kotlin5
1.4 Kotlin与Java 85
1.5 支持的工具与社区6
1.6 商业角度6
1.7 谁在使用Kotlin7
1.8 本章小结8
●第2章 走进Kotlin9
2.1 Kotlin REPL交互式编程命令行9
2.2 变量和数据类型10
2.2.1 变量声明10
2.2.2 基本数据类型11
2.2.3 类型推导12
2.3 条件语句13
2.3.1 将if和when作为语句13
2.3.2 条件表达式15
2.4 循环和范围17
2.4.1 while循环17
2.4.2 for循环17
2.5 函数19
2.5.1 函数签名19
2.5.2 单行表达式函数的简写方式20
2.5.3 main函数20
2.5.4 参数默认值和指定参数名称21
2.5.5 扩展函数22
2.5.6 中缀函数24
2.5.7 运算符函数25
2.6 空安全26
2.6.1 可空类型26
2.6.2 可空类型的使用27
2.7 相等性检查29
2.8 异常处理30
2.8.1 异常处理的原则30
2.8.2 Kotlin的异常处理31
2.8.3 Checked异常和Unchecked异常32
2.9 本章小结33
●第3章 Kotlin中的函数式编程34
3.1 函数式编程的目的34
3.2 函数36
3.3 Lambda表达式37
3.4 高阶函数38
3.5 集合的使用41
3.5.1 集合API在Kotlin与Java中的区别42
3.5.2 在Kotlin中实例化集合42
3.5.3 集合的访问和编辑43
3.5.4 过滤集合44
3.5.5 映射集合44
3.5.6 集合分组45
3.5.7 集合关联46
3.5.8 计算最小值、最大值,以及和46
3.5.9 集合排序46
3.5.10 折叠集合47
3.5.11 链式函数调用49
3.6 作用域函数49
3.6.1 let函数的使用49
3.6.2 apply函数的使用50
3.6.3 with函数的使用51
3.6.4 run函数的使用52
3.6.5 also函数的使用54
3.6.6 use函数的使用54
3.6.7 组合高阶函数55
3.6.8 带接收者的Lambda56
3.7 惰性序列57
3.7.1 惰性计算57
3.7.2 使用惰性序列58
3.7.3 惰性序列的性能60
3.8 本章小结62
●第4章 Kotlin中的面向对象63
4.1 类和对象的实例化63
4.2 属性64
4.3 方法73
4.4 主构造函数和次构造函数76
4.5 继承和重写规则78
4.6 类型检查和转换82
4.7 可见性84
4.8 数据类86
4.9 枚举89
4.10 密封类91
4.11 对象和伴生93
4.12 泛型97
4.13 本章小结112
●第5章 与Java的互操作性113
5.1 在Kotlin中使用Java代码113
5.2 在Java中使用Kotlin代码122
5.3 互操作的最佳实践137
5.4 本章小结138
●第6章 Kotlin中的并发140
6.1 并发140
6.1.1 普遍难题142
6.1.2 最先进的解决方案143
6.2 Kotlin中的协程146
6.2.1 引入协程146
6.2.2 基本概念147
6.2.3 挂起函数147
6.2.4 协程构建器150
6.2.5 生成器169
6.2.6 actors和channels171
6.2.7 并发样式178
6.2.8 协程实践178
6.2.9 内部实现183
6.3 本章小结185
★第二部分 使用Kotlin进行Android开发
●第7章 使用Kotlin进行Android应用程序开发:Kudoo App188
7.1 在Android上配置Kotlin188
7.2 编写待办事项列表应用Kudoo192
7.3 本章小结219
●第8章 使用Kotlin进行Android应用程序开发:Nutrilicious221
8.1 新建并配置项目222
8.2 为主页面添加RecyclerView223
8.3 调用Nutrition的API从USDA中拉取数据230
8.4 映射JSON数据和领域类236
8.5 在搜索逻辑中使用ViewModel241
8.6 增加搜索食品功能243
8.7 介绍Fragment I:实现搜索Fragment246
8.8 介绍Fragment II:实现收藏Fragment254
8.9 在Room数据库中存储用户收藏食品数据258
8.10 从USDA食品报告API中拉取营养详情数据265
8.11 集成详情页270
8.12 在数据库中存储食品详情277
8.13 为可操作的数据添加RDI282
8.14 优化用户体验286
8.15 本章小结288
●第9章 Kotlin DSL289
9.1 DSL简介289
9.2 在Kotlin中创建DSL292
9.3 DSL在Android布局中的应用—使用Anko301
9.4 DSL在Gradle构建脚本中的应用308
9.5 本章小结315
●第10章 迁移到Kotlin316
10.1 软件中的移植316
10.2 引领改变317
10.3 部分或整体迁移320
10.4 从何处开始322
10.5 工具支持325
10.6 本章小结327
附录 更多资源329
术语表332
猜您喜欢