定 價(jià):¥89.50
作 者: | 關(guān)東升 |
出版社: | 清華大學(xué)出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787302604457 | 出版時(shí)間: | 2022-10-01 | 包裝: | 平裝-膠訂 |
開本: | 128開 | 頁(yè)數(shù): | 字?jǐn)?shù): |
基 礎(chǔ) 篇
第1章 開篇綜述 3
1.1 Kotlin語(yǔ)言簡(jiǎn)介 3
1.1.1 Kotlin語(yǔ)言設(shè)計(jì)目標(biāo) 3
1.1.2 Kotlin語(yǔ)言特點(diǎn) 3
1.2 Android移動(dòng)操作系統(tǒng)概述 4
1.2.1 Android歷史介紹 4
1.2.2 Android架構(gòu) 5
1.2.3 Android平臺(tái)介紹 6
1.3 本章總結(jié) 7
第2章 Kotlin語(yǔ)言基礎(chǔ) 8
2.1 Kotlin語(yǔ)言學(xué)習(xí)環(huán)境的搭建 8
2.2 JDK 8
2.2.1 JDK的下載和安裝 8
2.2.2 設(shè)置環(huán)境變量 9
2.3 IntelliJ IDEA開發(fā)工具 11
2.3.1 創(chuàng)建第一個(gè)IntelliJ IDEA項(xiàng)目 12
2.3.2 編寫Kotlin源代碼文件 14
2.3.3 運(yùn)行程序 15
2.4 變量與常量 16
2.5 Kotlin數(shù)據(jù)類型 17
2.5.1 基本數(shù)據(jù)類型 17
2.5.2 可空類型 18
2.6 字符串 21
2.6.1 字符串表示形式 21
2.6.2 字符串模板 22
2.7 Kotlin中的函數(shù) 23
2.7.1 函數(shù)聲明 23
2.7.2 使用命名參數(shù)調(diào)用函數(shù) 24
2.7.3 參數(shù)默認(rèn)值 24
2.7.4 表達(dá)式函數(shù)體 25
2.8 Kotlin函數(shù)式編程 25
2.8.1 函數(shù)類型 26
2.8.2 Lambda表達(dá)式 26
2.9 Kotlin面向?qū)ο缶幊?28
2.9.1 類聲明 28
2.9.2 構(gòu)造函數(shù) 29
2.9.3 屬性 30
2.10 數(shù)據(jù)類 32
2.11 嵌套類 32
2.11.1 聲明嵌套類 32
2.11.2 內(nèi)部類 34
2.11.3 對(duì)象表達(dá)式 35
2.12 抽象類與接口 37
2.12.1 抽象類聲明及實(shí)現(xiàn) 37
2.12.2 接口聲明及實(shí)現(xiàn) 39
2.13 數(shù)據(jù)容器 40
2.13.1 數(shù)組 41
2.13.2 set集合 44
2.13.3 List集合 48
2.13.4 Map集合 51
2.14 本章總結(jié) 55
第3章 Android開發(fā)環(huán)境的搭建 56
3.1 下載和安裝Android Studio 56
3.2 安裝Android SDK 57
3.2.1 配置Android SDK環(huán)境變量 58
3.2.2 變更Android SDK的安裝路徑 59
3.3 創(chuàng)建Android模擬器 60
3.4 本章總結(jié) 62
第4章 第一個(gè)Android應(yīng)用程序 63
4.1 通過(guò)Android Studio工具創(chuàng)建項(xiàng)目 63
4.2 Android項(xiàng)目剖析 65
4.2.1 Android項(xiàng)目目錄結(jié)構(gòu) 65
4.2.2 活動(dòng)文件MainActivity.kt 65
4.2.3 activity_main.xml布局文件 66
4.2.4 AndroidManifest.xml文件 66
4.3 運(yùn)行項(xiàng)目 67
4.4 學(xué)會(huì)使用Android開發(fā)者社區(qū)幫助文檔 68
4.4.1 在線幫助文檔 68
4.4.2 Android SDK API文檔 68
4.4.3 Android SDK開發(fā)指南 69
4.5 本章總結(jié) 69
界 面 篇
第5章 Android界面編程基礎(chǔ) 73
5.1 Android界面組成 73
5.1.1 視圖 73
5.1.2 視圖組 73
5.2 Android應(yīng)用界面構(gòu)建 74
5.2.1 使用Android Studio界面設(shè)計(jì)工具 74
5.2.2 LabelButton實(shí)例:界面布局實(shí)現(xiàn) 74
5.3 事件處理模型 78
5.3.1 活動(dòng)作為事件監(jiān)聽(tīng)器 78
5.3.2 對(duì)象表達(dá)式作為事件監(jiān)聽(tīng)器 80
5.3.3 Lambda表達(dá)式作為事件監(jiān)聽(tīng)器 80
5.4 屏幕上的事件處理 81
5.4.1 觸摸事件 81
5.4.2 實(shí)例:屏幕觸摸事件 82
5.4.3 鍵盤事件 84
5.4.4 實(shí)例:改變圖片的透明度 84
5.5 本章總結(jié) 86
第6章 Android界面布局 87
6.1 Android界面布局設(shè)計(jì)模式 87
6.1.1 表單布局模式 87
6.1.2 列表布局模式 88
6.1.3 網(wǎng)格布局模式 88
6.2 布局管理 89
6.2.1 幀布局 89
6.2.2 實(shí)例:幀布局 89
6.2.3 線性布局 91
6.2.4 線性布局實(shí)例:構(gòu)建登錄界面 91
6.2.5 相對(duì)布局 94
6.2.6 相對(duì)布局實(shí)例:構(gòu)建查詢功能界面 94
6.2.7 網(wǎng)格布局 96
6.2.8 網(wǎng)格布局實(shí)例:構(gòu)建計(jì)算器界面 96
6.2.9 布局文件嵌套實(shí)例:構(gòu)建登錄界面 98
6.3 Android約束布局 100
實(shí)例:使用約束布局重構(gòu)LabelButton界面 100
6.4 本章總結(jié) 103
第7章 Android基礎(chǔ)控件 104
7.1 按鈕 104
7.1.1 Button 104
7.1.2 ImageButton 104
7.1.3 ToggleButton 105
7.1.4 實(shí)例:ButtonSample 106
7.2 標(biāo)簽 107
7.3 文本框 108
7.3.1 文本框相關(guān)屬性 108
7.3.2 實(shí)例:用戶登錄 109
7.3.3 實(shí)例:文本框輸入控制 110
7.4 單選按鈕 113
7.4.1 RadioButton 113
7.4.2 RadioGroup 114
7.4.3 實(shí)例:使用單選按鈕 114
7.5 復(fù)選框 116
7.5.1 CheckBox 116
7.5.2 實(shí)例:使用復(fù)選框 117
7.6 進(jìn)度欄 119
7.6.1 進(jìn)度欄相關(guān)屬性和函數(shù) 119
7.6.2 實(shí)例:水平條狀進(jìn)度欄 120
7.6.3 實(shí)例:圓形進(jìn)度欄 124
7.7 拖動(dòng)欄 125
7.7.1 SeekBar 126
7.7.2 實(shí)例:使用拖動(dòng)欄 126
7.8 本章總結(jié) 128
第8章 Android高級(jí)控件 129
8.1 列表類型控件 129
8.1.1 適配器 129
8.1.2 Spinner 129
8.1.3 實(shí)例:使用Spinner進(jìn)行選擇 131
8.1.4 ListView 132
8.1.5 實(shí)例:使用ListView實(shí)現(xiàn)顯示文本 133
8.1.6 實(shí)例:使用ListView實(shí)現(xiàn)顯示文本 圖片 134
8.2 Toast 138
實(shí)例:文本類型Toast 138
8.3 對(duì)話框 139
8.3.1 實(shí)例:顯示文本信息對(duì)話框 139
8.3.2 實(shí)例:簡(jiǎn)單列表項(xiàng)對(duì)話框 141
8.3.3 實(shí)例:?jiǎn)芜x列表對(duì)話框 142
8.3.4 實(shí)例:復(fù)選列表對(duì)話框 144
8.3.5 實(shí)例:復(fù)雜布局對(duì)話框 146
8.4 操作欄和菜單 148
8.4.1 操作欄 148
8.4.2 菜單編程 149
8.4.3 實(shí)例:文本菜單 149
8.4.4 實(shí)例:操作表按鈕 151
8.5 本章總結(jié) 152
第9章 活動(dòng) 153
9.1 活動(dòng)概述 153
9.1.1 創(chuàng)建活動(dòng) 153
9.1.2 活動(dòng)的生命周期 155
9.1.3 實(shí)例:Back和Home按鈕的區(qū)別 156
9.2 多個(gè)活動(dòng)之間的跳轉(zhuǎn) 161
9.2.1 用戶登錄 161
9.2.2 啟動(dòng)下一個(gè)活動(dòng) 162
9.2.3 參數(shù)傳遞 164
9.2.4 返回上一個(gè)活動(dòng) 165
9.3 活動(dòng)任務(wù)與返回棧 166
9.4 本章總結(jié) 167
第10章 碎片 168
10.1 界面重用問(wèn)題 168
10.2 碎片技術(shù) 169
10.3 碎片的生命周期 169
10.4 使用碎片開發(fā) 171
10.4.1 碎片相關(guān)類 171
10.4.2 創(chuàng)建碎片 172
10.4.3 靜態(tài)添加碎片到活動(dòng) 173
10.4.4 動(dòng)態(tài)添加碎片到活動(dòng) 174
10.4.5 管理碎片事務(wù) 175
10.4.6 碎片與活動(dòng)之間的通信 175
10.5 實(shí)例:比賽項(xiàng)目 176
10.5.1 創(chuàng)建兩個(gè)碎片 177
10.5.2 創(chuàng)建MainActivity活動(dòng) 181
10.5.3 點(diǎn)擊Master碎片列表項(xiàng) 183
10.5.4 數(shù)據(jù)訪問(wèn)對(duì)象 186
10.6 本章總結(jié) 187
進(jìn) 階 篇
第11章 意圖 191
11.1 意圖概述 191
11.1.1 意圖與目標(biāo)組件間的通信 191
11.1.2 意圖對(duì)象包含的內(nèi)容 191
11.2 意圖類型 192
11.2.1 顯式意圖 192
11.2.2 隱式意圖 193
11.3 匹配組件 193
11.3.1 動(dòng)作 194
11.3.2 數(shù)據(jù) 195
11.3.3 類別 196
11.4 實(shí)例:Android系統(tǒng)內(nèi)置意圖 197
11.5 本章總結(jié) 199
第12章 數(shù)據(jù)存儲(chǔ) 200
12.1 Android數(shù)據(jù)存儲(chǔ)概述 200
12.2 本地文件 200
12.2.1 沙箱目錄設(shè)計(jì) 200
12.2.2 訪問(wèn)應(yīng)用程序files目錄 201
12.2.3 實(shí)例:訪問(wèn)本地CSV文件 201
12.3 SQLite數(shù)據(jù)庫(kù) 205
12.3.1 SQLite數(shù)據(jù)類型 205
12.3.2 Android平臺(tái)下管理SQLite數(shù)據(jù)庫(kù) 206
12.4 SQLite數(shù)據(jù)存儲(chǔ)實(shí)例:我的備忘錄 207
12.4.1 我的備忘錄App概述 207
12.4.2 數(shù)據(jù)庫(kù)設(shè)計(jì) 208
12.4.3 SQLiteOpenHelper幫助類 208
12.4.4 數(shù)據(jù)查詢 209
12.4.5 數(shù)據(jù)插入 213
12.4.6 數(shù)據(jù)刪除 214
12.5 使用SharedPreferences 217
實(shí)例:讀寫SharedPreferences 217
12.6 本章總結(jié) 219
第13章 使用內(nèi)容提供者共享數(shù)據(jù) 220
13.1 內(nèi)容提供者概述 220
13.2 Content URI 221
13.2.1 Content URI概述 221
13.2.2 內(nèi)置Content URI 222
13.3 實(shí)例:訪問(wèn)聯(lián)系人信息 223
13.3.1 查詢聯(lián)系人 223
13.3.2 運(yùn)行時(shí)權(quán)限 227
13.4 實(shí)例:查詢聯(lián)系人Email 229
13.5 實(shí)例:查詢聯(lián)系人電話 231
13.6 實(shí)例:訪問(wèn)通話記錄 232
13.7 本章總結(jié) 237
第14章 Android多任務(wù)開發(fā) 238
14.1 Android中使用Kotlin協(xié)程 238
14.1.1 在項(xiàng)目中添加協(xié)程庫(kù) 238
14.1.2 第一個(gè)Android協(xié)程程序 240
14.2 案例:協(xié)程實(shí)現(xiàn)計(jì)時(shí)器 241
14.2.1 主線程更新UI問(wèn)題 242
14.2.2 協(xié)程解決更新UI問(wèn)題 242
14.3 本章總結(jié) 243
第15章 服務(wù) 244
15.1 服務(wù)概述 244
15.1.1 創(chuàng)建服務(wù) 244
15.1.2 服務(wù)的分類 245
15.2 啟動(dòng)類型服務(wù) 246
15.2.1 啟動(dòng)類型服務(wù)生命周期 246
15.2.2 實(shí)例:?jiǎn)?dòng)類型服務(wù) 247
15.3 綁定類型服務(wù) 248
15.3.1 綁定類型服務(wù)生命周期 248
15.3.2 實(shí)例:綁定類型服務(wù) 249
15.4 本章總結(jié) 252
第16章 廣播接收器 253
16.1 廣播接收器概述 253
16.2 編寫與注冊(cè)廣播接收器 253
16.2.1 編寫廣播接收器 253
16.2.2 注冊(cè)廣播接收器 254
16.2.3 實(shí)例:發(fā)送廣播 255
16.3 系統(tǒng)廣播 257
16.3.1 系統(tǒng)廣播動(dòng)作 257
16.3.2 實(shí)例:Downloader 257
16.4 通知 262
發(fā)送通知實(shí)例:NotificationSample 262
16.5 本章總結(jié) 265
第17章 多媒體開發(fā) 266
17.1 多媒體文件概述 266
17.1.1 音頻文件 266
17.1.2 視頻文件 267
17.2 Android音頻/視頻播放API 267
17.2.1 核心API——MediaPlayer類 268
17.2.2 播放狀態(tài) 268
17.3 音頻播放實(shí)例:MyAudioPlayer 270
17.3.1 資源音頻文件播放 270
17.3.2 本地音頻文件播放 274
17.4 Android音頻/視頻錄制API 277
17.5 音頻錄制實(shí)例:MyAudioRecorder 278
17.6 視頻播放 281
17.6.1 VideoView控件 281
17.6.2 實(shí)例:使用VideoView控件播放視頻 281
17.7 本章總結(jié) 283
第18章 網(wǎng)絡(luò)通信技術(shù) 284
18.1 網(wǎng)絡(luò)通信技術(shù)概述 284
18.1.1 Socket通信 284
18.1.2 HTTP 284
18.1.3 HTTPS 285
18.1.4 Web服務(wù) 285
18.1.5 搭建自己的Web服務(wù)器 285
18.2 發(fā)送網(wǎng)絡(luò)請(qǐng)求 287
18.2.1 使用java.net.URL 288
18.2.2 重構(gòu)實(shí)例:“我的備忘錄”App 291
18.2.3 使用第三方請(qǐng)求庫(kù)OkHttp4 293
18.2.4 OkHttp4發(fā)送Post請(qǐng)求實(shí)例:“我的備忘錄”App 293
18.2.5 實(shí)例:Downloader 295
18.3 本章總結(jié) 296
第19章 百度地圖與定位服務(wù) 297
19.1 使用百度地圖 297
19.1.1 獲得Android簽名證書中的SHA1值 297
19.1.2 搭建和配置環(huán)境 298
19.1.3 實(shí)例:顯示地圖 301
19.1.4 實(shí)例:設(shè)置地圖狀態(tài) 304
19.1.5 實(shí)例:地圖覆蓋物 306
19.2 定位服務(wù) 308
19.2.1 定位服務(wù)授權(quán) 308
19.2.2 位置信息提供者 309
19.2.3 管理定位服務(wù) 310
19.2.4 實(shí)例:MyLocation 311
19.2.5 測(cè)試定位服務(wù) 314
19.3 定位服務(wù)與地圖結(jié)合實(shí)例:WhereAMI 317
19.4 本章總結(jié) 321
第20章 Android繪圖與動(dòng)畫技術(shù) 322
20.1 Android 2D繪圖技術(shù) 322
20.1.1 畫布和畫筆 322
20.1.2 實(shí)例:繪制點(diǎn)和線 323
20.1.3 實(shí)例:繪制矩形 324
20.1.4 實(shí)例:繪制弧線 326
20.1.5 實(shí)例:繪制位圖 327
20.2 位圖變換 328
20.2.1 矩陣 328
20.2.2 實(shí)例:位圖變換 328
20.3 調(diào)用Android照相機(jī)獲取圖片 329
20.3.1 調(diào)用Android照相機(jī) 329
20.3.2 調(diào)用Android照相機(jī)實(shí)例:CameraTake 330
20.4 Android動(dòng)畫技術(shù) 334
20.4.1 漸變動(dòng)畫 334
20.4.2 實(shí)例:漸變動(dòng)畫 335
20.4.3 動(dòng)畫插值器 339
20.4.4 使用動(dòng)畫集 340
20.4.5 幀動(dòng)畫 340
20.5 本章總結(jié) 342
第21章 手機(jī)電話功能開發(fā) 343
21.1 撥打電話功能 343
21.1.1 撥打電話功能概述 343
21.1.2 實(shí)例:撥打電話 344
21.2 訪問(wèn)電話呼入狀態(tài)功能 346
21.2.1 呼入電話狀態(tài) 346
21.2.2 實(shí)例:電話黑名單(Blacklist) 347
21.3 本章總結(jié) 351
實(shí) 戰(zhàn) 篇
第22章 項(xiàng)目實(shí)戰(zhàn)——“我的備忘錄”云服務(wù)版 355
22.1 應(yīng)用分析與設(shè)計(jì) 355
22.2 編碼實(shí)現(xiàn)過(guò)程 356
22.2.1 用Android Studio創(chuàng)建項(xiàng)目 356
22.2.2 查詢備忘錄功能 357
22.2.3 增加備忘錄功能 362
22.2.4 刪除備忘錄功能 366
22.3 Android設(shè)備測(cè)試 368
22.4 還有“最后一公里” 369
22.4.1 添加圖標(biāo) 369
22.4.2 生成數(shù)字簽名文件 369
22.4.3 發(fā)布打包 370