鴻蒙應用開發入門與實踐
劉陳
相關主題
商品描述
目錄大綱
目錄
第1章 HarmonyOS開發基礎 1
1.1 智能手機系統介紹 2
1.1.1 智能手機系統的特點 2
1.1.2 Android系統介紹 2
1.1.3 iOS系統介紹 3
1.2 HarmonyOS介紹 4
1.2.1 HarmonyOS的發展歷程 4
1.2.2 HarmonyOS、OpenHarmony、鴻蒙生態的區別與聯系 5
1.3 HarmonyOS的優點 6
1.3.1 分佈式架構 6
1.3.2 多設備支持 6
1.3.3 開發者友好 7
1.4 HarmonyOS架構分析 8
1.4.1 整體架構圖 8
1.4.2 內核層 8
1.4.3 系統服務層 9
1.4.4 框架層 10
1.4.5 應用層 10
第2章 搭建開發環境 12
2.1 HarmonyOS應用開發介紹 13
2.1.1 HarmonyOS應用/服務的開發流程 13
2.1.2 配置開發環境的流程 13
2.2 搭建DevEco Studio開發環境 13
2.2.1 DevEco Studio的特點 13
2.2.2 環境要求 14
2.2.3 下載並安裝DevEco Studio 14
2.3 配置DevEco Studio開發環境 16
2.3.1 下載SDK及工具鏈 16
2.3.2 配置向導 17
2.4 使用DevEco Studio開發第一個鴻蒙應用程序 20
2.4.1 創建工程 21
2.4.2 DevEco Studio界面介紹 23
2.4.3 在模擬器中運行程序 27
2.4.4 在本地真機中運行程序 28
第3章 HarmonyOS應用模型 30
3.1 HarmonyOS應用模型介紹 31
3.1.1 應用模型的組成元素 31
3.1.2 應用模型的發展進程 31
3.1.3 FA模型與Stage模型的對比 32
3.2 Stage模型開發基礎 33
3.2.1 Stage模型的知識體系 33
3.2.2 Stage應用/組件級配置 34
3.3 UIAbility組件 37
3.3.1 UIAbility組件生命周期 38
3.3.2 UIAbility組件的啟動模式 41
3.3.3 UIAbility組件的基本用法 44
3.3.4 UIAbility組件與UI的數據同步 46
3.3.5 UIAbility實戰:頁面跳轉 48
3.4 服務卡片 52
3.4.1 服務卡片架構 52
3.4.2 ArkTS卡片開發 53
3.4.3 開發基於JS UI的卡片 54
3.4.4 卡片實戰:多設備自適應服務卡片 55
第4章 Java UI開發 61
4.1 Ability框架 62
4.1.1 Page Ability 62
4.1.2 Ability實戰:使用PageAbility實現頁面跳轉 64
4.2 UI佈局 67
4.2.1 代碼佈局 67
4.2.2 XML佈局 69
4.2.3 Java佈局類 71
4.3 常用組件開發 78
4.3.1 Text和Button組件 78
4.3.2 Image組件 80
4.3.3 TabList和Tab組件 81
4.3.4 Picker和DatePicker組件 82
4.3.5 TimePicker組件 84
4.3.6 Switch組件 85
4.3.7 RadioButton和Checkbox組件 86
4.3.8 ProgressBar、RoundProgressBar和Slider組件 88
4.3.9 ToastDialog、PopupDialog和CommonDialog組件 93
第5章 Ark UI開發 99
5.1 方舟開發框架概述 100
5.1.1 框架說明 100
5.1.2 基本語法 101
5.1.3 創建自定義組件 104
5.2 UI佈局 108
5.2.1 佈局結構 108
5.2.2 線性佈局 109
5.2.3 層疊佈局 112
5.2.4 彈性佈局 116
5.2.5 相對佈局 119
5.2.6 柵格佈局 123
5.2.7 列表佈局 129
5.2.8 網格佈局 131
5.3 基本組件 134
5.3.1 按鈕組件 134
5.3.2 單選框組件 138
5.3.3 進度條組件 140
5.3.4 切換按鈕組件 142
5.3.5 文本顯示組件 144
5.3.6 文本輸入框 147
5.3.7 視頻播放組件 150
5.3.8 氣泡提示 155
5.3.9 菜單 157
第6章 圖形、圖像開發 159
6.1 顯示圖片 160
6.1.1 Image組件介紹 160
6.1.2 Image組件實戰:手機相冊系統 162
6.2 繪制幾何圖形 172
6.2.1 Shape基礎 172
6.2.2 Shape實戰:繪制各種各樣的圖形 175
6.3 畫布 177
6.3.1 Canvas繪制自定義圖形 178
6.3.2 Canvas的常用繪圖方法 179
6.4 動畫 182
6.4.1 ArkUI動畫的分類 182
6.4.2 佈局更新動畫 183
6.4.3 組件內轉場動畫 186
第7章 多媒體開發 191
7.1 HarmonyOS多媒體開發架構 192
7.2 AVPlayer和AVRecorder 192
7.2.1 AVPlayer 193
7.2.2 AVRecorder 194
7.3 音頻播放 195
7.3.1 使用AVPlayer開發音頻播放程序 195
7.3.2 使用AudioRenderer開發音頻播放程序 198
7.3.3 使用OpenSL ES開發音頻播放程序 203
7.3.4 音頻播放實戰:多功能音樂播放器 205
7.4 開發音頻錄製程序 212
7.4.1 使用AVRecorder開發音頻錄製程序 213
7.4.2 使用AudioCapturer開發音頻錄製程序 216
7.4.3 使用OpenSL ES開發音頻錄製程序 218
7.4.4 管理麥克風 220
7.5 音頻通話 222
7.5.1 音頻通話基礎 222
7.5.2 開發音頻通話功能 223
7.6 視頻播放 229
第8章 相機開發 233
8.1 相機開發概述 234
8.2 開發相機程序 234
8.2.1 相機接口 234
8.2.2 創建相機設備 235
8.2.3 配置相機設備 238
8.2.4 拍照 240
8.3 相機實戰:多功能拍照程序 246
8.3.1 配置文件 246
8.3.2 佈局文件 246
8.3.3 主界面邏輯 247
8.3.4 拍照邏輯 249
8.3.5 錄制視頻邏輯 254
第9 章 網絡程序開發 259
9.1 網絡管理開發 260
9.1.1 HTTP 數據請求 260
9.1.2 WebSocket 連接 264
9.1.3 Socket 連接 270
9.2 IPC 與RPC 通信 273
9.2.1 IPC 與RPC 的基本概念 273
9.2.2 開發IPC 與RPC 通信程序 274
第10 章 數據管理 277
10.1 HarmonyOS 數據管理介紹 278
10.2 應用數據持久化 279
10.2.1 使用用戶首選項存儲數據 279
10.2.2 使用鍵值型數據庫存儲數據 286
10.2.3 使用關系型數據庫存儲數據 290
第11 章 電話和短信服務 301
11.1 電話服務開發概述 302
11.2 跳轉撥號界面 302
11.2.1 撥號接口 302
11.2.2 開發一個撥號程序 303
11.3 獲取當前蜂窩網絡信號信息 307
11.4 短信服務 308
11.4.1 sms 模塊介紹 308
11.4.2 sms 實戰:發送指定內容的短信 311
第12 章 設備管理 313
12.1 USB 開發 314
12.1.1 HarmonyOS USB API 介紹 314
12.1.2 開發HarmonyOS USB 程序 316
12.2 位置服務 319
12.2.1 位置開發概述 319
12.2.2 獲取設備的位置信息 320
12.2.3 地理編碼轉化 325
12.3 傳感器 327
12.3.1 HarmonyOS 系統傳感器介紹 327
12.3.2 開發傳感器應用程序 329
12.4 綜合實戰:健身計步器 332
12.4.1 系統配置 332
12.4.2 UI 視圖 334
12.4.3 項目主界面 341
第13 章 綜合實戰:新聞客戶端(Node.js 服務端+HarmonyOS 客戶端) 347
13.1 背景介紹 348
13.2 項目介紹 348
13.2.1 主要特點 348
13.2.2 項目結構 349
13.3 系統架構 349
13.4 服務器端 349
13.4.1 系統配置 350
13.4.2 Model 模塊 351
13.4.3 控制器 353
13.4.4 視圖組件 355
13.5 客戶端 355
13.5.1 系統配置 355
13.5.2 通用模塊 357
13.5.3 數據交互 366
13.5.4 視圖界面 370
13.5.5 入口界面 378
13.6 調試運行 378