《KOTIIN程序开发入门精要》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:李宁著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2017
  • ISBN:7115467528
  • 页数:303 页
图书介绍:一本全面介绍Kotlin知识的书,本书区别同类书的是,会全面介绍Kotlin开发的各种核心知识,并且用案例驱动,同时作者会配合视频讲解,让读者可以顺利入门并进入到实战开发中,使读者阅读以后,可以进行实战项目开发,更有成就感。

第1章 Kotlin开发环境搭建 1

1.1 Kotlin概述 1

1.1.1 Kotlin是什么 1

1.1.2 为什么Kotlin突然成为热门 2

1.1.3 Kotlin相对于Java有哪些优势 2

1.1.4 Kotlin能做什么 3

1.2 在线运行Kotlin代码 3

1.3 安装和配置Kotlin 6

1.3.1 安装和配置JDK 6

1.3.2 Windows下安装和配置Kotlin 9

1.3.3 Mac OS X下安装和配置Kotlin 10

1.4 测试Kotlin编译和运行环境 10

1.4.1 命令行方式使用Kotlin 11

1.4.2 Kotlin的REPL环境 13

1.4.3 在命令行中运行脚本文件 14

1.4.4 在浏览器中运行Kotlin程序 14

1.4.5 使用Node.js运行Kotlin程序 16

1.4.6 在微信小程序中运行Kotlin程序 17

1.4.7 用Kotlin开启全栈开发模式 21

1.5 Kotlin中的语法糖 22

1.6 Kotlin的集成开发环境(IDE) 24

1.6.1 IntelliJ IDEA的Kotlin基础开发环境 25

1.6.2 使用Android Studio和Kotlin开发Android App 29

1.7 小结 34

第2章 Kotlin基础知识 35

2.1 Kotlin的基本语法 35

2.1.1 定义变量 35

2.1.2 定义函数 36

2.1.3 注释 37

2.2 基础数据类型 37

2.2.1 数值类型 38

2.2.2 字符类型 39

2.2.3 布尔类型 41

2.2.4 数组 41

2.2.5 字符串 42

2.2.6 字符串模板 43

2.3 包(Package) 43

2.4 控制流 46

2.4.1 条件语句 46

2.4.2 when语句 46

2.4.3 for循环 48

2.4.4 while循环 49

2.5 小结 50

第3章 类和接口 51

3.1 类的声明 51

3.2 构造器 51

3.2.1 主构造器 51

3.2.2 第二构造器 53

3.2.3 Kotlin中的Singleton模式 54

3.2.4 Kotlin函数中的默认参数 55

3.2.5 创建类的实例 58

3.3 类成员 58

3.3.1 属性的基本用法 58

3.3.2 属性的getter和setter形式 60

3.3.3 保存属性值的字段 60

3.3.4 函数 61

3.3.5 嵌套类 63

3.4 修饰符(Modifiers) 64

3.5 类的继承 65

3.5.1 Kotlin类如何继承 65

3.5.2 重写方法 65

3.5.3 重写属性 66

3.6 接口 67

3.7 抽象类 68

3.8 小结 68

第4章 枚举类和扩展 69

4.1 枚举类 69

4.1.1 枚举类的基本用法 69

4.1.2 为枚举值指定对应的数值 70

4.1.3 枚举类的其他功能 71

4.2 扩展 72

4.2.1 扩展原生API 72

4.2.2 扩展自定义类 73

4.2.3 成员函数冲突的解决方案 75

4.2.4 扩展属性 76

4.2.5 扩展伴随对象(Companion Object) 76

4.2.6 扩展的范围 77

4.2.7 在类中使用扩展 77

4.2.8 调用特定类的成员函数 78

4.2.9 扩展成员的继承 79

4.3 小结 80

第5章 数据类和封闭类 81

5.1 数据类(Data Class) 81

5.1.1 使用数据类 81

5.1.2 对象复制 84

5.1.3 数据类成员的解构 85

5.2 封闭类(Sealed Classes) 86

5.3 小结 86

第6章 泛型 87

6.1 泛型基础 87

6.2 类型变异 88

6.3 类型投射 90

6.4 星号投射 92

6.5 泛型函数 92

6.6 泛型约束 93

6.7 小结 93

第7章 对象和委托 94

7.1 对象 94

7.1.1 对象表达式 94

7.1.2 声明匿名对象 97

7.1.3 访问封闭作用域内的变量 97

7.1.4 陪伴对象 99

7.2 委托 99

7.2.1 类的委托 99

7.2.2 委托属性 100

7.2.3 委托类的初始化函数 102

7.2.4 委托的前提条件 104

7.3 标准委托 104

7.3.1 惰性装载 105

7.3.2 可观察属性 105

7.3.3 阻止属性的赋值操作 106

7.3.4 Map委托 107

7.3.5 MutableMap委托 108

7.4 小结 108

第8章 高阶函数与Lambda表达式 109

8.1 高阶函数 109

8.2 Lambda表达式与匿名函数 110

8.2.1 函数类型 111

8.2.2 Lambda表达式的语法 111

8.2.3 匿名函数 112

8.2.4 闭包(Closure) 113

8.3 小结 113

第9章 函数 114

9.1 函数基本用法 114

9.2 使用中缀标记法调用函数 114

9.3 单表达式函数 115

9.4 函数参数和返回值 116

9.4.1 可变参数 116

9.4.2 返回值类型 117

9.5 函数的范围 117

9.5.1 局部函数 117

9.5.2 成员函数 118

9.6 泛型函数 118

9.7 内联函数 119

9.7.1 让Lambda表达式内联进函数 119

9.7.2 内联部分Lambda表达式 121

9.7.3 非局部返回(Non-local return) 124

9.7.4 实体化的类型参数(Reified type parameter) 125

9.7.5 内联属性 126

9.8 小结 127

第10章 其他Kotlin技术(1) 128

10.1 数据解构 128

10.2 集合 130

10.3 值范围 132

10.3.1 值范围的应用 132

10.3.2 值范围的工作原理 134

10.3.3 常用工具函数 135

10.4 类型检查与类型转换 136

10.4.1 is与!is操作符 136

10.4.2 智能类型转换 138

10.4.3 强行类型转换 139

10.5 this表达式 140

10.6 相等判断 140

10.7 操作符重载 141

10.7.1 一元操作符重载 141

10.7.2 二元操作符 142

10.7.3 方括号操作符重载 144

10.7.4 赋值操作符重载 146

10.7.5 逻辑操作符重载 147

10.8 小结 149

第11章 其他Kotlin技术(2) 150

11.1 null值安全性 150

11.1.1 可为null的类型与不可为null的类型 150

11.1.2 在条件语句中进行null检查 151

11.1.3 安全调用操作符 152

11.1.4 Elvis操作符 152

11.1.5 !!操作符 153

11.1.6 安全的类型转换 153

11.1.7 可为null的类型构成的集合 153

11.2 异常类 153

11.3 注解(Annotations) 155

11.3.1 使用注解 156

11.3.2 注解类的构造器 157

11.3.3 Lambda表达式 158

11.4 反射(Reflection) 158

11.4.1 类引用(Class Reference) 159

11.4.2 枚举类成员 159

11.4.3 动态调用成员函数 161

11.4.4 动态调用成员属性 161

11.5 小结 163

第12章 Android的窗口——Activity 164

12.1 什么是Activity 164

12.2 Activity的基本用法 164

12.2.1 创建一个不包含任何Activity的Android工程 165

12.2.2 手动创建Activity 167

12.2.3 创建和加载布局 168

12.2.4 在AndroidManifest文件中注册Activity 172

12.2.5 编译和运行Android工程 172

12.2.6 为Activity添加新组件 173

12.2.7 为Activity添加逻辑代码 174

12.2.8 为Activity添加Toast 175

12.2.9 关闭Activity 178

12.3 使用Intent连接多个Activity 178

12.3.1 使用显式Intent 179

12.3.2 使用隐式Intent 182

12.3.3 为隐式Intent设置更多的过滤条件 185

12.3.4 使用隐式Intent访问系统App 187

12.4 向Activity中传递数据 189

12.5 从Activity返回数据 191

12.6 Activity的生命周期 192

12.7 记录当前活动的Activity 196

12.8 小结 197

第13章 Android App的装饰工具——UI组件与布局 198

13.1 如何编写程序界面 198

13.2 常用的UI组件 198

13.2.1 文本显示组件(TextView) 198

13.2.2 按钮组件(Button) 202

13.2.3 文本编辑组件(EditText) 206

13.2.4 图像组件(ImageView) 210

13.2.5 进度条组件(ProgressBar) 213

13.2.6 对话框组件(AlertDialog) 216

13.3 布局详解 217

13.3.1 线性布局(LinearLayout) 217

13.3.2 相对布局(RelativeLayout) 222

13.3.3 帧布局(FrameLayout) 226

13.3.4 百分比布局(PercentFrameLayout) 227

13.4 小结 230

第14章 永久保存数据的方式——持久化技术 231

14.1 SharedPreferences存储 231

14.1.1 将数据存储到SharedPreferences中 231

14.1.2 从SharedPreferences读取数据 234

14.1.3 利用SharedPreferences存取用户名和密码 235

14.2 文件流操作 239

14.2.1 openFileOutput和openFileInput方法 239

14.2.2 读写SD卡上的文件 242

14.3 App权限的授予和拒绝 248

14.4 读写JSON格式的数据 250

14.5 SQLite数据库 257

14.5.1 SQLite数据库管理工具 257

14.5.2 创建SQLite数据库和数据表 261

14.5.3 向SQLite数据表中插入数据 264

14.5.4 删除SQLite数据表中的数据 265

14.5.5 更新SQLite数据表中的数据 266

14.5.6 查询SQLite表中的数据 267

14.5.7 将数据库与App一起发布 268

14.6 小结 270

第15章 连接外部世界——网络技术 271

15.1 WebView组件 271

15.2 使用HTTP与服务端进行交互 273

15.2.1 使用HttpURLConnection 273

15.2.2 使用okHttp 276

15.3 小结 282

第16章 项目实战——欧瑞天气App 283

16.1 项目概述 283

16.2 添加依赖 284

16.3 实现主窗口 285

16.4 显示地区列表 286

16.4.1 描述城市信息的数据类 286

16.4.2 处理JSON格式的城市列表信息 286

16.4.3 天气信息描述类 288

16.4.4 获取城市信息的对象 290

16.4.5 在ListView组件中显示地区列表 293

16.5 显示天气信息 298

16.6 小结 303