Kotlin程式開發入門精要

Kotlin程式開發入門精要

《Kotlin程式開發入門精要》是2018年9月人民郵電出版社出版的圖書,作者是李寧。

基本介紹

  • 書名:Kotlin程式開發入門精要
  • 作者:李寧
  • ISBN:9787115467522
  • 頁數:303頁
  • 定價:69元
  • 出版社:人民郵電出版社
  • 出版時間:2018年9月
  • 裝幀:平裝
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

本書分3部分講解Kotlin,第 1部分(第 1~11章)是Kotlin語言的基礎部分,主要介紹了Kotlin的基礎知識、語法以及大量的“語法糖”,如搭建Kotlin開發環境、數據類犁尋催型、控制流、類、對象、接口、擴展、委託、Lambda表達式、操作符重載等。第 2部分(第 12~15章)主要介紹了如何用Kotlin開發Android App。由於Kotlin可以調用JDK中的API,所以在使用Kotlin開發Android App的過程中,很多都是調用JDK的API實現的,但開發語言使用的是Kotlin。因此,這一部分詳細介紹了用Kotlin開頌籃發Android App 需要掌握的核心知識,如Activity、組件、布局、流檔案、SQLite資料庫、網路等技術。第3部分(第 16章)是一個完整的案例:歐瑞天氣。通過這個項目,可以讓讀者了解利用Kotlin開發Android App的全過程。

圖書目錄

第 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
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

相關詞條

熱門詞條

聯絡我們