Kotlin入門與實戰

Kotlin入門與實戰

《Kotlin入門與實戰》是2019年5月人民郵電出版社出版的圖書,作者是向治洪。

基本介紹

  • 中文名:Kotlin入門與實戰
  • 作者:向治洪
  • 出版社:人民郵電出版社
  • 出版時間:2019年5月
  • 頁數:357 頁
  • 定價:89 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787115498762
內容簡介,圖書目錄,

內容簡介

《Kotlin入門與實戰》從Kotlin的發展史講起,將理論知識和項目實例相結合,全面介紹Kotlin的基礎與套用。通過閱讀本書,讀者可以迅速掌握Kotlin的基本操作,輕鬆應對使用Java開發所帶來的技術難題。
《Kotlin入門與實戰》內容共分為18章,由Kotlin入門與基礎、Kotlin語法和Kotlin項目實例3個部分組成。第一部分(第1~3章)主要介紹了Kotlin的發展、Kotlin開發環境搭建、JVM語系和Kotlin各版本的重要特性。第二部分(第4~16章)詳細解析Kotlin的基礎語法。第三部分(第17、18章)集中演示了基礎知識的實戰運用。
《Kotlin入門與實戰》適合前端開發人員、Android/iOS開發人員以及Java從業人員閱讀。

圖書目錄

第 一部分 Kotlin入門與基礎
第1章 Kotlin簡介 1
1.1 Kotlin發展史 1
1.2 面向對象編程概述 3
1.2.1 面向過程編程 3
1.2.2 面向對象編程 4
1.3 Java虛擬機 5
1.3.1 JVM語系生態 5
1.3.2 Java虛擬機概述 7
1.3.3 Kotlin應用程式運行過程 7
1.4 為什麼使用Kotlin 8
1.5 Kotlin與Java的比較 11
1.6 小結 12
第 2章 Kotlin初體驗 13
2.1 Kotlin線上運行 13
2.2 Kotlin 1.1特性 15
2.2.1 JavaScript全面支持 15
2.2.2 JVM新特性 16
2.2.3 協程 17
2.2.4 標準庫 19
2.3 Kotlin 1.2新特性 20
2.3.1 多平台支持 21
2.3.2 多平台環境搭建 21
2.3.3 特定平台聲明 24
2.3.4 標準庫支持 25
2.3.5 JVM特性 27
2.3.6 JavaScript特性支持 28
2.4 小結 29
第3章 Kotlin快速入門 30
3.1 在Mac上搭建Kotlin開發環境 30
3.1.1 安裝與配置JDK環境 30
3.1.2 安裝與配置IDE 33
3.2 Kotlin開發IDE介紹 36
3.2.1 IntelliJ IDEA開發環境 36
3.2.2 Android Studio集成開發環境 38
3.3 Kotlin的編譯與運行 42
3.3.1 命令行方式編譯運行Kotlin 42
3.3.2 運行Kotlin REPL 44
3.3.3 在瀏覽器中運行Kotlin 45
3.3.4 在Node.js中運行Kotlin 47
3.4 Kotlin構建方式 48
3.4.1 使用Gradle方式構建Kotlin 48
3.4.2 使用Maven方式構建Kotlin 50
3.4.3 使用Ant方式構建Kotlin 51
3.4.4 Kotlin與OSGi 52
3.4.5 Kotlin與Kapt 53
3.5 編譯器外掛程式 55
3.5.1 全開放編譯外掛程式 55
3.5.2 無參編譯器外掛程式 56
3.6 小結 58
第二部分 Kotlin語法
第4章 Kotlin語法基礎 59
4.1 Kotlin編程風格 59
4.2 變數與屬性 61
4.2.1 變數聲明 61
4.2.2 getter和setter 63
4.2.3 訪問許可權 65
4.3 基本數據類型 66
4.3.1 數值類型 66
4.3.2 字元類型 68
4.3.3 布爾類型 69
4.3.4 數組類型 69
4.3.5 字元串 70
4.4 包聲明與使用 72
4.5 流程控制語句 75
4.5.1 if條件語句 75
4.5.2 when語句 76
4.5.3 for循環 78
4.5.4 while循環 79
4.5.5 返回與跳轉 79
4.6 Kotlin運算符 80
4.6.1 賦值運算符 80
4.6.2 算數運算符 81
4.6.3 關係運算符 81
4.6.4 邏輯運算符 82
4.6.5 區間運算符 82
4.6.6 運算符優先權 83
4.7 運算符重載 84
4.7.1 一元運算符 85
4.7.2 二元運算符 86
4.7.3 位運算符 88
4.8 Kotlin操作符 88
4.8.1 冒號操作符 88
4.8.2 @操作符 89
4.8.3 $操作符 90
4.8.4 安全轉換操作符 90
4.8.5 類型判斷操作符 90
4.9 Kotlin動態類型 91
4.10 Kotlin空安全 92
4.10.1 可空類型與不可空類型 92
4.10.2 判空操作符 93
4.10.3 Elvis操作符 94
4.10.4 強校驗操作符 94
4.10.5 安全的類型轉換 95
4.10.6 可空類型集合 95
4.11 異常處理 95
4.11.1 異常類 95
4.11.2 自定義異常 96
4.11.3 try表達式 97
4.11.4 throw表達式 97
4.11.5 受檢異常 97
4.12 小結 98
第5章 類與接口 99
5.1 類 99
5.1.1 類的聲明 99
5.1.2 構造函式 101
5.1.3 類的實例 102
5.2 繼承 103
5.3 抽象類 106
5.4 接口 108
5.5 小結 110
第6章 擴展函式與屬性 111
6.1 枚舉 111
6.1.1 基本用法 111
6.1.2 枚舉類擴展 112
6.2 擴展 114
6.2.1 擴展的動機 114
6.2.2 擴展原生函式 114
6.2.3 靜態解析 115
6.2.4 擴展屬性 116
6.2.5 擴展伴生對象 117
6.2.6 擴展的作用域 117
6.2.7 類中聲明擴展 118
6.3 this表達式 120
6.4 小結 121
第7章 數據類與密封類 122
7.1 數據類 122
7.1.1 對象複製 123
7.1.2 序列化 124
7.1.3 成員解構 125
7.2 密封類 127
7.3 小結 128
第8章 集合與泛型 129
8.1 集合 129
8.1.1 集 129
8.1.2 列表 130
8.1.3 映射 132
8.2 泛型 133
8.2.1 泛型基礎 133
8.2.2 型變 134
8.2.3 聲明處型變 135
8.2.4 類型投影 136
8.2.5 星號投影 138
8.2.6 泛型函式 138
8.2.7 泛型約束 139
8.3 小結 139
第9章 對象與委託 140
9.1 對象 140
9.1.1 對象表達式 140
9.1.2 對象聲明 142
9.1.3 伴生對象 143
9.2 委託 144
9.2.1 類委託 144
9.2.2 委託屬性 145
9.3 標準委託 146
9.3.1 延遲屬性 146
9.3.2 可觀察屬性 147
9.3.3 Map委託 148
9.3.4 Not Null 149
9.3.5 局部委託屬性 150
9.3.6 提供委託 151
9.4 小結 152
第 10章 反射與註解 153
10.1 反射 153
10.1.1 類引用 154
10.1.2 類成員引用 154
10.1.3 函式引用 155
10.1.4 屬性引用 156
10.1.5 構造函式引用 157
10.1.6 KClass反射 158
10.1.7 對象序列化 161
10.2 註解 162
10.2.1 註解聲明 162
10.2.2 註解使用 163
10.2.3 註解類的構造函式 165
10.2.4 註解使用場景目標 166
10.2.5 與Java註解互調 167
10.2.6 註解分類 168
10.2.7 註解的生命周期 169
10.3 小結 169
第 11章 函式與Lambda表達式 170
11.1 函式 170
11.1.1 函式基本用法 170
11.1.2 中綴表示法 171
11.1.3 函式參數 171
11.1.4 函式作用域 173
11.1.5 函式返回值 174
11.1.6 尾遞歸函式 175
11.2 高階函式 175
11.2.1 高階函式基本用法 175
11.2.2 標準高階函式 177
11.3 內聯函式 179
11.3.1 內聯Lambda表達式 179
11.3.2 內聯函式聲明 180
11.3.3 非局部返回 181
11.3.4 實例化類型參數 182
11.3.5 內聯屬性 183
11.4 Lambda表達式與匿名函式 183
11.4.1 Lambda表達式語法 184
11.4.2 函式類型 185
11.4.3 匿名函式 185
11.4.4 閉包 186
11.4.5 函式顯式聲明 186
11.5 小結 187
第 12章 協程 188
12.1 協程簡介 188
12.1.1 協程與執行緒 188
12.1.2 使用協程的好處 189
12.2 協程開發環境 190
12.2.1 Gradle構建方式 190
12.2.2 Maven構建方式 191
12.3 協程基礎 192
12.3.1 launch函式 192
12.3.2 共享執行緒池 193
12.3.3 阻塞與掛起 193
12.3.4 runBlocking函式 194
12.3.5 協程取消 195
12.3.6 協程逾時 195
12.3.7 標準API 196
12.4 掛起函式 197
12.4.1 默認順序執行 198
12.4.2 異步並發執行 198
12.4.3 異步樣式函式 200
12.5 協程上下文與調度器 201
12.5.1 協程調度與執行緒 201
12.5.2 非限制與限制協程 202
12.5.3 協程與執行緒調試 203
12.5.4 協程中的子協程 203
12.6 通道 204
12.6.1 通道基礎 204
12.6.2 通道的關閉與疊代 205
12.6.3 通道生產者 206
12.7 管道 206
12.7.1 管道生產與消費 206
12.7.2 管道與質數 207
12.7.3 多接收者協程 208
12.7.4 通道快取 209
12.8 小結 210
第 13章 I/O操作與多執行緒 211
13.1 Kotlin流層次 211
13.1.1 位元組輸入流 212
13.1.2 位元組輸出流 213
13.1.3 字元輸入流 214
13.1.4 字元輸出流 215
13.1.5 字元流與位元組流轉換 216
13.2 檔案I/O操作 216
13.2.1 檔案讀取 217
13.2.2 檔案寫入 217
13.2.3 檔案遍歷 218
13.3 網路I/O操作 219
13.4 多執行緒 219
13.4.1 執行緒創建 220
13.4.2 執行緒同步 220
13.5 小結 221
第 14章 Kotlin DSL 222
14.1 DSL簡介 222
14.1.1 DSL的設計與實現 222
14.1.2 DSL分類 223
14.2 DSL語義模型 223
14.2.1 依賴網路 224
14.2.2 產生式規則系統 224
14.2.3 狀態機 224
14.3 Kotlin的DSL特性 225
14.4 使用kotlinx.html創建DSL 226
14.4.1 Maven構建方式 227
14.4.2 Gradle構建方式 228
14.4.3 kotlinx.html實例 229
14.5 Android Gradle指南 233
14.5.1 鏈式命令 233
14.5.2 委託 234
14.6 使用Kotlin與Anko進行Android開發 235
14.6.1 Anko簡介 235
14.6.2 Anko核心組件與工具 236
14.6.3 Anko使用實例 238
14.7 小結 242
第 15章 Kotlin互操作 243
15.1 Kotlin與Java互操作 243
15.1.1 在Kotlin中調用Java 243
15.1.2 在Java中調用Kotlin 251
15.1.3 JSR-305支持 257
15.2 Kotlin與JavaScript互操作 261
15.2.1 在Kotlin中調用JavaScript 261
15.2.2 在JavaScript中調用Kotlin 264
15.2.3 JavaScript模組 266
15.2.4 JavaScript反射 269
15.2.5 JavaScript DCE 270
15.3 小結 271
第 16章 Kotlin Native開發 272
16.1 Kotlin Native 272
16.1.1 Kotlin Native簡介 272
16.1.2 Kotlin Native編譯器 273
16.1.3 編譯器konan 274
16.2 Kotlin Native實例 275
16.2.1 構建Kotlin Native項目 275
16.2.2 添加konan外掛程式配置 276
16.2.3 編寫原始碼 277
16.2.4 添加konanInterop與konanArtifacts配置 278
16.2.5 編譯與執行 279
16.2.6 用命令行方式編譯Kotlin Native 280
16.3 使用Kotlin Native開發iOS套用 281
16.3.1 創建Kotlin Native項目 281
16.3.2 Kotlin Native測試 284
16.4 小結 286
第三部分 Kotlin項目實例
第 17章 使用Kotlin與Spring Boot開發服務端 287
17.1 Spring Boot環境搭建 287
17.1.1 Spring Boot簡介 287
17.1.2 創建Spring Boot應用程式 288
17.1.3 啟動Spring Boot應用程式 292
17.1.4 套用測試 293
17.1.5 properties配置檔案 296
17.2 Spring Boot之Thymeleaf模板 298
17.3 使用Swagger構建RESTful API 301
17.4 Spring Boot通過MyBatis整合MySQL資料庫 304
17.5 Spring Boot整合Redis資料庫 308
17.5.1 Redis簡介 308
17.5.2 Spring Boot整合Redis 310
17.6 Spring Boot整合Elasticsearch 313
17.6.1 Elasticsearch簡介 313
17.6.2 Spring Boot整合Elasticsearch 315
17.7 Spring Boot集成RabbitMQ 319
17.7.1 RabbitMQ簡介 319
17.7.2 Spring Boot集成RabbitMQ 321
17.8 Spring Boot熱部署與日誌管理 323
17.9 Spring Framework 5.0對Kotlin的支持 326
17.9.1 函式式Bean註冊方式 326
17.9.2 使用Kotlin調用Spring Web的功能性API 326
17.9.3 RestTemplate與函式式API擴展 327
17.9.4 Reactor的Kotlin擴展 327
17.9.5 基於模板的Kotlin腳本 327
17.10 小結 328
第 18章 使用Kotlin開發Android視頻套用 329
18.1 項目概述 329
18.2 淺談Android開發架構模式 329
18.2.1 MVC 331
18.2.2 MVP 331
18.2.3 MVVM 332
18.3 項目準備 333
18.3.1 新建Android項目 333
18.3.2 添加項目庫依賴 334
18.3.3 編寫主頁面 335
18.3.4 Android 6.0許可權適配 338
18.3.5 GSYVideoPlayer播放器簡介 340
18.4 項目開發 341
18.4.1 基礎類封裝 341
18.4.2 Retrofit封裝 344
18.4.3 自定義狀態控制控制項 345
18.4.4 首頁模組開發 348
18.4.5 視頻詳情頁面開發 352
18.4.6 搜尋功能的實現 355
18.5 小結 357

相關詞條

熱門詞條

聯絡我們