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