Android 從小白到大牛 (Kotlin版)

關東升

  • 出版商: 清華大學
  • 出版日期: 2022-10-01
  • 定價: $537
  • 售價: 8.5$456
  • 語言: 簡體中文
  • ISBN: 7302604452
  • ISBN-13: 9787302604457
  • 相關分類: AndroidJVM 語言
  • 立即出貨 (庫存 < 4)

  • Android 從小白到大牛 (Kotlin版)-preview-1
  • Android 從小白到大牛 (Kotlin版)-preview-2
  • Android 從小白到大牛 (Kotlin版)-preview-3
Android 從小白到大牛 (Kotlin版)-preview-1

買這商品的人也買了...

商品描述

本書是一部介紹如何使用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

目   錄