目 录
第1篇 基础语法篇\t1
第1章 Kotlin初入门\t2
1.1 练习环境配置\t2
1.2 Hello World程序\t9
1.3 常量与变量\t11
第2章 Kotlin基础\t15
2.1 整数型和类型推断\t15
2.2 浮点型(小数)\t17
2.3 类型安全\t18
2.4 布尔型\t18
2.5 元组\t20
2.6 可空类型(nullable)\t20
2.7 基础操作符\t21
2.8 package和import\t25
2.9 异常处理和类初始化\t26
2.10 引用相等和结构相等\t27
2.11 区间(Range)\t28
2.12 控制流作为表达式\t29
2.13 函数返回\t34
2.14 类型层级\t34
2.15 循环\t35
第3章 控制流\t37
3.1 二元判断\t37
3.2 循环\t38
3.3 多元判断\t44
第4章 字符串和字符\t46
4.1 字符串\t46
4.2 字符\t52
第5章 函数\t54
5.1 函数定义和使用\t54
5.2 函数的作用范围\t56
5.3 命名参数和默认参数\t60
5.4 函数操作符\t63
5.5 函数扩展\t68
5.6 函数字面量\t71
5.7 尾递归函数\t72
5.8 标准库函数\t73
5.9 泛型函数\t77
第6章 Lambda和高阶函数\t79
6.1 Lambda表达式\t79
6.2 高阶函数\t81
第7章 集合类型\t84
7.1 Array数组\t84
7.2 MutableList可变列表\t92
7.3 Set\t94
7.4 MutableSet\t96
7.5 Java中的各种集合\t97
7.6 Map\t97
7.7 MutableMap\t102
7.8 集合类型共性详解\t104
第2篇 面向对象篇\t113
第8章 初识对象\t114
8.1 万物皆对象\t114
8.2 用Kotlin描述对象\t115
8.3 愉快的构造\t121
8.4 属性\t128
第9章 类的进阶\t136
9.1 继承\t136
9.2 抽象类,重写和重载\t144
9.3 接口\t146
9.4 修饰符\t152
9.5 扩展\t160
第10章 多彩的类\t173
10.1 数据类\t173
10.2 密封类\t183
10.3 泛型\t186
10.4 嵌套类\t195
10.5 枚举类\t201
10.6 对象\t213
10.7 委托\t223
第11章 关于对象的小细节\t241
11.1 类型检查与类型转换\t241
11.2 异常错误处理\t246
11.3 结构相等与引用相等\t254
11.4 this表达式\t257
11.5 类型别名\t263
第12章 面向对象高级部分\t268
12.1 操作符重载\t268
12.2 反射\t282
12.3 维护初步\t288
第3篇 Kotlin安卓开发篇
第13章 UI界面基础\t296
13.1 Android UI简介\t296
13.2 基类View和容器ViewGroup\t296
13.3 Anko简介\t302
13.4 Anko Layout DSL\t302
13.5 基本布局\t315
13.6 基础UI组件\t331
13.7 进阶UI组件\t353
第14章 Activity与Fragment\t367
14.1 Activity\t367
14.2 Fragment\t375
第15章 Service与Broadcast Receiver\t380
15.1 Service\t380
15.2 Android广播接收器(Broadcast Receivers)\t396
第16章 Kotlin多线程编程\t404
16.1 进程?线程?\t404
16.2 Android开发中多线程的必要性\t405
16.3 Kotlin中的Executors\t414
第17章 Android数据存储\t416
17.1 SharePreferences\t416
17.2 文件存储数据\t418
17.3 SQLite数据库存储数据\t421
17.4 ContentProvider存储数据\t430
17.5 网络存储数据\t433
第18章 Kotlin网络编程\t434
18.1 基于TCP/IP 协议栈的网络编程\t434
18.2 基于HTTP的网络通信\t436
18.3 HTTPConnection\t438
18.4 HTTP库Fuel\t439
18.5 数据交换格式-JSON简介\t443
18.6 Demo:IP查询\t445
18.7 WebView\t450
第19章 Demo:天气\t462
19.1 架构设计\t462
19.2 分析数据源\t462
19.3 Android 开发\t471
第20章 Demo:网易云音乐\t500
20.1 项目简介\t500
20.2 服务器端部署\t500
20.3 Android端开发\t501
20.4 用户登录界面与功能\t505
20.5 主界面\t510
20.6 Rank排行榜\t511
20.7 Rank子页面\t520
20.8 播放页\t524
20.9 私人FM\t536
20.10 个人页面\t542