图书推荐:Kotlin从入门到进阶实战
《Kotlin从入门到进阶实战》从Kotlin 语言的基础语法讲起,逐步深入到Kotlin进阶实战,并在最后配合项目实战案例,重点介绍了使用Kotlin+Spring Boot进行服务端开发和使用Kotlin进行Android应用程序开发的内容,让读者不但可以系统地学习Kotlin编程的相关知识,而且还能对Kotlin应用开发有更为深入的理解。
本书分为14章,涵盖的主要内容有Kotlin简介,Kotlin语法基础,类型系统与可空类型,类与面向对象编程,函数与函数式编程,扩展函数与属性,集合类,泛型,文件I/O操作、正则表达式与多线程,使用Kotlin创建DSL,运算符重载与约定,元编程、注解与反射,Kotlin集成Spring Boot服务端开发,使用Kotlin进行Android开发。
本书内容通俗易懂,案例丰富,实用性强,特别适合Kotlin语言的入门读者和进阶读者阅读,也适合Android程序员、Java程序员等其他编程爱好者阅读,还适合作为相关培训机构的教材。
目录
目 录
第1章 Kotlin是什么 1
1.1 初识Kotlin 1
1.2 语言特性 2
1.2.1 Kotlin与Java完全互操作 3
1.2.2 扩展函数与扩展属性 4
1.2.3 不可空类型与空安全 5
1.2.4 一等函数支持 6
1.2.5 智能类型推断 6
1.3 编程哲学 6
1.4 学习工具 7
1.4.1 云端IDE 7
1.4.2 命令行REPL 7
1.4.3 使用IDEA 8
1.5 为什么要学Kotlin 9
1.6 JVM语言生态 12
1.7 本章小结 16
第2章 Kotlin语法基础 17
2.1 变量和标识符 17
2.2 关键字与修饰符 18
2.3 流程控制语句 21
2.3.1 if表达式 22
2.3.2 when表达式 23
2.3.3 for循环 24
2.3.4 while循环 25
2.3.5 break和continue 26
2.3.6 return返回 26
2.3.7 标签(label) 29
2.3.8 throw表达式 30
2.4 操作符与重载 30
2.4.1 操作符优先级 31
2.4.2 一元操作符 32
2.4.3 二元操作符 33
2.5 包声明 38
2.6 本章小结 40
第3章 类型系统与可空类型 41
3.1 类型系统 41
3.1.1 类型系统的作用 41
3.1.2 Java类型系统 42
3.1.3 Kotlin类型系统 43
3.2 可空类型 45
3.3 安全操作符 46
3.3.1 安全调用符“?” 47
3.3.2 非空断言“!!” 48
3.3.3 Elvis运算符“?:” 48
3.4 特殊类型 48
3.4.1 Unit类型 48
3.4.2 Nothing与Nothing?类型 49
3.4.3 Any与Any?类型 51
3.5 类型检测与类型转换 52
3.5.1 is运算符 52
3.5.2 类型自动转换 53
3.5.3 as运算符 54
3.6 本章小结 54
第4章 类与面向对象编程 55
4.1 面向对象编程简史 55
4.2 声明类 58
4.2.1 空类 58
4.2.2 声明类和构造函数 58
4.3 抽象类与接口 61
4.3.1 抽象类与抽象成员 62
4.3.2 接口 64
4.4 object对象 65
4.5 数据类 66
4.5.1 创建数据类 66
4.5.2 数据类自动创建的函数 69
4.5.3 数据类的语法限制 69
4.5.4 Pair和Triple 69
4.6 注解 70
4.7 枚举 72
4.8 内部类 73
4.8.1 普通嵌套类 73
4.8.2 嵌套内部类 74
4.8.3 匿名内部类 74
4.9 本章小结 75
第5章 函数与函数式编程 76
5.1 函数式编程简介 77
5.2 声明函数 77
5.3 Lambda表达式 78
5.4 高阶函数 79
5.5 Kotlin中的特殊函数 80
5.5.1 run()函数 80
5.5.2 apply()函数 81
5.5.3 let()函数 82
5.5.4 also()函数 83
5.5.5 with()函数 83
5.6 本章小结 84
第6章 扩展函数与属性 85
6.1 扩展函数 86
6.1.1 给String类扩展两个函数 86
6.1.2 给List类扩展一个过滤函数 87
6.2 扩展属性 89
6.3 扩展的实现原理 90
6.4 扩展中的this关键字 91
6.5 本章小结 91
第7章 集合类 92
7.1 集合类概述 92
7.1.1 常用的3种集合类 92
7.1.2 Kotlin集合类继承层次 93
7.2 不可变集合类 94
7.3 创建集合类 95
7.4 遍历集合中的元素 97
7.5 映射函数 98
7.6 过滤函数 99
7.7 排序函数 100
7.8 元素去重 101
7.9 本章小结 101
第8章 泛型 102
8.1 为何引入泛型 102
8.2 在类、接口和函数上使用泛型 104
8.2.1 泛型接口 104
8.2.2 泛型类 105
8.2.3 泛型函数 106
8.3 类型上界 106
8.4 协变与逆变 106
8.4.1 协变 108
8.4.2 逆变 111
8.4.3 PECS 111
8.5 out T与in T 112
8.6 类型擦除 112
8.7 本章小结 113
第9章 文件I/O操作、正则表达式与多线程 114
9.1 文件I/O操作 114
9.1.1 读文件 115
9.1.2 写文件 116
9.1.3 遍历文件树 117
9.2 网络I/O 118
9.3 执行Shell命令 119
9.4 正则表达式 120
9.4.1 构造Regex表达式 120
9.4.2 Regex函数 120
9.4.3 使用Java的正则表达式类 123
9.5 多线程编程 123
9.5.1 创建线程 123
9.5.2 同步方法和块 125
9.5.3 可变字段 125
9.6 本章小结 126
第10章 使用Kotlin创建DSL 127
10.1 什么是DSL 127
10.1.1 内部DSL 128
10.1.2 外部DSL 128
10.2 Kotlin的DSL特性支持 129
10.3 实现集合类的流式Kotlin DSL 130
10.4 实现一个SQL风格的集合类 131
10.5 本章小结 133
第11章 运算符重载与约定 134
11.1 什么是运算符重载 134
11.2 重载二元算术运算符 137
11.3 重载自增自减一元运算符 139
11.4 重载比较运算符 141
11.5 重载计算赋值运算符 143
11.6 本章小结 144
第12章 元编程、注解与反射 145
12.1 元编程简介 145
12.2 注解 146
12.2.1 声明注解 146
12.2.2 使用注解 147
12.2.3 处理注解 149
12.3 反射 151
12.3.1 类引用 152
12.3.2 函数引用 153
12.3.3 属性引用 153
12.3.4 绑定函数和属性引用 154
12.4 使用反射获取泛型信息 154
12.5 本章小结 158
第13章 Kotlin集成Spring Boot服务端开发 159
13.1 用Spring Boot快速开发Restful Hello World 159
13.1.1 Spring Initializr 159
13.1.2 创建Spring Boot项目 160
13.2 系统功能与技术栈 167
13.3 准备工作 167
13.4 配置数据层 170
13.5 数据持久层开发 170
13.5.1 数据库表结构 170
13.5.2 配置JPA 171
13.6 JSON数据解析 175
13.7 数据入库逻辑实现 176
13.8 定时调度任务 177
13.9 HTTP接口开发 178
13.9.1 实现分页查询接口 178
13.9.2 @Query注解与 #{#entityName} 179
13.9.3 Pageable与Page 180
13.10 视图模板开发 184
13.10.1 前端代码结构 185
13.10.2 实现后端分页 187
13.10.3 实现收藏和删除图片的功能 191
13.10.4 搜索关键字管理 194
13.10.5 使用协程实现异步爬虫任务 200
13.10.6 图片存入数据库并在前端展现 201
13.11 本章小结 203
第14章 使用Kotlin进行Android开发 204
14.1 快速开发Hello World 205
14.1.1 准备工作 205
14.1.2 创建基于Kotlin的Android项目 207
14.1.3 工程目录文件说明 210
14.1.4 安装运行 213
14.2 综合项目实战:开发一个电影指南应用程序 214
14.2.1 创建 Kotlin Android 项目 214
14.2.2 启动主类ItemListActivity 219
14.2.3 AppCompatActivity类介绍 222
14.2.4 Activity生命周期 224
14.2.5 Kotlin Android Extensions插件 226
14.2.6 详情页ItemDetailActivity 231
14.2.7 碎片事务类FragmentTransaction 235
14.2.8 Fragment 生命周期 239
14.2.9 测试数据类DummyContent 244
14.2.10 创建领域对象类Movie 244
14.2.11 JSON数据解析 245
14.2.12 电影列表页面 246
14.2.13 视图数据适配器ViewAdapter 250
14.2.14 视图中图像的展示 251
14.2.15 电影详情页面 253
14.2.16 电影源数据的获取 257
14.2.17 配置 AndroidManifest.xml 259
14.2.18 打包安装测试 259
14.3 本章小结 260
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
微信跳一跳脚本重出江湖,python实现安卓&iOS自动版与手动版!
前面一段时间在GitHub上看到有人利用Python玩一款名为“跳一跳”的微信小程序,于是打算自己也来试一试,毕竟这款小游戏最近吸引了众多人的目光。 演示工具 电脑系统:Win10 Python版本:2.7.13(64位) 环境配置 Step1:安装Python 安装Python2.7并添加到环境变量中。 Step2:配置adb 将相关文件中提供的adb.zip文件解压,将解压后的文件夹添加到环境变量中。 (Win10系统:右键“此电脑”→“属性”→“高级系统设置”→“环境变量”→双击“Path”,将adb文件夹的路径添加进去即可。) 例如下图: 添加成功后在cmd窗口输入adb会有类似如下图所示的显示: Step3:安装依赖库 解压相关文件中提供的wechat_jump_game.rar文件。cmd窗口切换到解压后的文件夹内后输入pip install -r requirements.txt耐心等待相关依赖库安装完成即可。 如下图所示: 小编给大家推荐一个学习氛围超好的地方,python交流企鹅裙:【6.1.1,五三零,1.0.1】!适合在校大学生,小白,想转行,想通过这个找工作的加...
- 下一篇
Android之路 - 冷启动解决方案:实现秒开
前言 关于 splash 页面相信每个Android开发者都是非常熟悉的,而且很多人也遇到过需要在splash加个广告图片,然后延迟3秒在进入主页面,splash 应该只是一个启动页面,不应该放广告,但是那又能怎么样呢?又敌不过产品经理。 大多数情况下都会碰到启动白屏和黑屏的情况,那么本文将探讨几种我在开发中用到的几种解决方案。 原理解析 冷启动 什么是冷启动 Android中的冷启动,使用直白的话就是: 当手机 重启 ,点击桌面图标启动应用的过程就是冷启动 未启动手机,长时 未使用,应用被 kill 后,此时点击桌面图标启动应用的过程 冷启动的表现形式 未做处理的情况 点击桌面图标后没有反应,没有瞬间打开应用,也就是没有马上看到应用打开 点击桌面图标后会显示 黑屏 或者 白屏 , 没有及时渲染出页面元素 详情可以查看下图: 冷启动场景演示 从上图可以看出,点击图标后出现了短暂的白屏,然后才显示了 splash 页面的内容,在splash页面进行了延迟 1500毫秒再跳转到主页面。虽然白屏的时间很短暂,但给用户的体验感就不是很好了。 冷启动产生的原因 冷启动产生的主要原因要从APP的启...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果