HarmonyOS NEXT智能終端應用開發
吳紹根
- 出版商: 電子工業
- 出版日期: 2026-03-01
- 定價: $359
- 售價: $358
- 語言: 簡體中文
- 頁數: 316
- ISBN: 7121520206
- ISBN-13: 9787121520204
-
相關分類:
Cross-Platform
下單後立即進貨 (約4週~6週)
相關主題
商品描述
本書是一本介紹鴻蒙應用開發的基礎書籍,適合鴻蒙程序開發的初學者使用,其中所有的技術內容都基於鴻蒙DevEco 5.1和鴻蒙Next版本(也稱純血鴻蒙)。全書共12章,從簡入深地介紹了鴻蒙應用開發的基本概念、基本方法、基本技術和應用實踐。第1章介紹了建立鴻蒙智能終端程序開發環境的方法;第2章介紹了鴻蒙應用開發語言ArkTS的基礎知識;第3章和第4章剖析了UI開發基礎及其狀態管理;第5章介紹了鴻蒙重要的Stage應用開發模型;第6章介紹了鴻蒙基礎與常用的UI組件及其使用方法;第7章介紹了存儲數據和管理應用程序的方法,包括數據持久化的多種方式及其使用;第8章介紹了使用HTTP、WebSocket協議訪問網絡服務的方法;第9章介紹了多媒體開發的相關內容;第10章介紹了應用程序的數據安全管理和權限管控;第11章介紹了多模塊應用開發技術;第12章介紹了應用程序的打包和發布。
目錄大綱
第1章 鴻蒙智能終端程序開發環境 1
1.1 鴻蒙智能終端系統及其應用開發環境 1
1.2 建立鴻蒙智能終端程序開發環境 2
1.2.1 下載及安裝DevEco Studio 2
1.2.2 開發第一個鴻蒙智能終端應用程序 3
1.2.3 運行鴻蒙智能終端應用程序 5
1.2.4 修改DevEco Studio的界面風格 8
1.3 鴻蒙程序工程 8
1.3.1 DevEco Studio界面組成 8
1.3.2 工程結構 9
1.4 開發一個具有交互能力的程序 10
1.5 練習:建立鴻蒙智能終端程序開發環境 12
第2章 ArkTS語言基礎 13
2.1 從JavaScript到TypeScript再到ArkTS 13
2.2 基本知識 14
2.2.1 基本數據類型和引用數據類型 14
2.2.2 變量的聲明和使用 15
2.2.3 運算符 16
2.2.4 流程控制語句 16
2.3 函數 16
2.3.1 函數聲明和調用 16
2.3.2 函數的可選參數 17
2.3.3 函數作為數據類型 18
2.3.4 lambda()函數 18
2.4 類 18
2.4.1 定義類和使用類 19
2.4.2 屬性 19
2.4.3 方法 20
2.4.4 可見性修飾符 21
2.4.5 對象字面量 21
2.4.6 類的繼承 22
2.4.7 抽象類 23
2.5 接口 24
2.5.1 接口定義和使用 24
2.5.2 接口的繼承 25
2.5.3 抽象類與接口 26
2.6 泛型類型與泛型函數 26
2.6.1 泛型類型 26
2.6.2 泛型函數 28
2.7 空安全及其處理 28
2.7.1 聲明可為null值的變量 28
2.7.2 非空斷言運算符 28
2.7.3 空值合並運算符 29
2.7.4 可選屬性運算符和可選鏈運算符 29
2.8 模塊及其應用 30
2.8.1 使用export關鍵字導出模塊的聲明 30
2.8.2 使用import關鍵字導入其他模塊的聲明 30
2.9 案例:計算一元二次方程的根 32
2.9.1 案例目標 32
2.9.2 案例分析 32
2.9.3 案例實施 32
2.10 練習:求解形狀的周長和面積 35
第3章 構建應用程序UI——基礎 36
3.1 UI組件入門 36
3.2 系統內置UI組件介紹 40
3.2.1 Text組件、Span組件和ImageSpan組件 40
3.2.2 Button組件 41
3.2.3 Image組件 42
3.2.4 TextInput組件 43
3.2.5 Row組件和Column組件 44
3.3 資源分類與訪問 45
3.3.1 資源目錄 45
3.3.2 資源分類和資源訪問 47
3.3.3 訪問系統資源 49
3.4 細說UI 49
3.4.1 使用@Component、@Entry裝飾器和struct關鍵字構建界面 49
3.4.2 顯示程序UI界面 51
3.4.3 自定義組件的生命周期 52
3.4.4 程序UI界面的生命周期 55
3.5 UI組件裝飾器及其使用方法 57
3.5.1 @Builder:自定義構造函數 57
3.5.2 @BuilderParam:引用@Builder構造函數 60
3.5.3 @LocalBuilder:維持組件父子關系 61
3.5.4 @Styles:定義組件重用樣式 63
3.5.5 @Extend:定義擴展組件樣式 64
3.6 渲染控制 64
3.6.1 if/else條件渲染 65
3.6.2 ForEach循環渲染 66
3.7 案例:圖來圖往 67
3.7.1 案例目標 67
3.7.2 案例分析 67
3.7.3 案例實施 67
3.8 練習:呼來喚去 70
第4章 UI狀態管理 71
4.1 狀態管理概述 71
4.2 V1狀態管理機制 72
4.2.1 @State:組件狀態變量 72
4.2.2 @Prop:父子數據單向同步 74
4.2.3 @Link:父子數據雙向同步 76
4.2.4 @Provide和@Consume:與後代組件雙向同步 78
4.2.5 @Observed和@ObjectLink:觀察嵌套類對象屬性變化 80
4.2.6 LocalStorage:頁面狀態數據存儲 81
4.2.7 AppStorage:程序全局的UI狀態存儲 83
4.2.8 PersistentStorage:持久化存儲UI狀態數據 84
4.2.9 Environment:查詢設備的運行環境 86
4.2.10 $$語法:系統組件雙向同步 86
4.3 V2狀態管理機制 88
4.3.1 @ComponentV2:支持V2狀態管理機制的自定義組件 88
4.3.2 @ObservedV2和@Trace:類屬性變化觀測 88
4.3.3 @Local:組件變量狀態觀察 89
4.3.4 @Param和@Required:接收外部的參數輸入 90
4.3.5 @Once裝飾器 92
4.3.6 @Event:子組件與父組件的雙向同步機制 92
4.3.7 @Provider和@Consumer:跨組件雙向同步 94
4.3.8 @Monitor:監聽狀態變量值的修改 95
4.3.9 AppStorageV2:應用程序全局數據存儲器 97
4.3.10 PersistenceV2:持久化儲存狀態數據 99
4.3.11 在V2狀態管理機制中雙向綁定系統組件屬性 100
4.4 案例:基於MVVM模式的備忘錄(V1版) 101
4.4.1 案例目標 101
4.4.2 案例分析 102
4.4.3 案例實施 102
4.5 練習:基於MVVM模式的備忘錄(V2版) 107
第5章 Stage應用開發模型 108
5.1 Stage模型概述 109
5.1.1 App.json5配置文件 109
5.1.2 module.json5配置文件 110
5.2 UIAbility類 111
5.2.1 UIAbility類的啟動過程及其生命周期 112
5.2.2 指定UIAbility類顯示的UI組件 116
5.2.3 在UIAbility及其UI界面中獲取上下文信息 117
5.2.4 UIAbility組件啟動模式 121
5.3 信息傳遞載體Want對象 122
5.3.1 使用Want對象實現UIAbility之間的跳轉 122
5.3.2 顯式Want和隱式Want 127
5.3.3 特殊含義的action屬性值和entities屬性值 132
5.3.4 傳遞參數到目標UIAbility並獲取返回結果 133
5.4 案例:揭開寶藏 140
5.4.1 案例目標 140
5.4.2 案例分析 140
5.4.3 案例實施 140
5.5 練習:圖片評論 143
第6章 構建應用程序UI——進階 144
6.1 常用布局組件 144
6.1.1 線性布局(Row/Column) 145
6.1.2 彈性布局(Flex) 145
6.1.3 層疊布局(Stack) 146
6.1.4 列表(List) 147
6.1.5 網格(Grid/GridItem) 150
6.1.6 輪播(Swiper) 152
6.1.7 選項卡(Tabs) 153
6.2 常用基礎組件 155
6.2.1 Text、Button、Image和InputText組件 155
6.2.2 單選框(Radio) 155
6.2.3 切換按鈕(Toggle) 156
6.2.4 進度條(Progress) 158
6.2.5 視頻播放(Video) 159
6.2.6 圖標小符號(SymbolGlyph/SymbolSpan) 160
6.3 彈窗 162
6.3.1 彈出框(Dialog) 162
6.3.2 氣泡提示(Popup) 166
6.3.3 即時反饋(Toast) 167
6.4 動畫 167
6.4.1 組件動畫 167
6.4.2 屬性動畫 167
6.4.3 轉場動畫 169
6.5 事件及其處理 176
6.5.1 觸屏事件 176
6.5.2 按鍵事件 178
6.5.3 手勢事件 179
6.6 組件導航和頁面路由 182
6.6.1 組件導航 182
6.6.2 頁面路由 186
6.7 案例:多UIAbility和多頁面跳轉 190
6.7.1 案例目標 190
6.7.2 案例分析 190
6.7.3 案例實施 190
6.8 練習:案例再現 194
第7章 數據存儲和訪問 195
7.1 使用首選項存儲數據 195
7.1.1 使用首選項存儲和訪問數據 196
7.1.2 首選項文件及其位置 198
7.2 使用關系數據庫存儲數據 199
7.2.1 使用SQLite數據庫存儲數據 199
7.2.2 SQLite數據庫文件及其位置 204
7.3 訪問應用程序文件 205
7.3.1 文件訪問的一般過程 205
7.3.2 應用程序數據文件的存放位置 208
7.4 案例:選擇一個圖像文件並顯示 209
7.4.1 案例目標 209
7.4.2 案例分析 209
7.4.3 案例實施 210
7.5 練習:一次性選擇多個文件並復制 212
第8章 訪問網絡 213
8.1 使用HTTP訪問網絡 213
8.1.1 HTTP服務端程序設計 214
8.1.2 使用HTTP的GET方法發送請求 217
8.1.3 使用HTTP的POST方法發送請求 220
8.2 使用WebSocket協議訪問網絡 224
8.2.1 WebSocket服務端程序設計 224
8.2.2 WebSocket客戶端功能設計 227
8.3 訪問蜂窩通信服務 230
8.3.1 撥打電話 230
8.3.2 發送短信 231
8.4 案例:基於WebSocket的在線聊天系統 233
8.4.1 案例目標 233
8.4.2 案例分析 233
8.4.3 案例實施 234
8.5 練習:個人雲端相冊 238
第9章 多媒體開發 239
9.1 播放音視頻 239
9.1.1 使用AVPlayer播放音頻 240
9.1.2 使用Video組件播放視頻 243
9.1.3 使用AVPlayer播放視頻 243
9.2 使用cameraPicker拍攝照片和視頻 248
9.3 圖片處理 251
9.4 信息分享 256
9.4.1 分享圖片 256
9.4.2 分享視頻 257
9.4.3 分享文本信息 258
9.5 案例:圖片處理展示與分享 259
9.5.1 案例目標 259
9.5.2 案例分析 259
9.5.3 案例實施 259
9.6 練習:自制在線音樂播放器 264
第10章 應用程序權限管控 265
10.1 使用沙箱管控數據安全 265
10.2 資源訪問權限管控 268
10.2.1 權限分類及其申請方式 268
10.2.2 系統授權的開放權限及訪問權限申請 269
10.2.3 用戶授權的開放權限及其保護的資源 271
10.2.4 通過彈窗向用戶動態請求用戶授權的開放權限 272
10.3 案例:向用戶二次請求授權 277
10.3.1 案例目標 278
10.3.2 案例分析 278
10.3.3 案例實施 278
10.4 練習:使手機震動 280
第11章 多模塊應用開發 281
11.1 應用程序模塊類型和應用程序包結構 281
11.1.1 應用程序模塊類型 282
11.1.2 應用程序包結構 283
11.2 創建多模塊應用程序 283
11.3 模塊之間的程序/資源引用 285
11.3.1 跨模塊資源引用 285
11.3.2 跨模塊頁面組件引用 288
11.3.3 跨模塊方法/類/接口引用 290
11.3.4 跨模塊UIAbility引用 292
11.4 案例:多模塊程序資源訪問 294
11.4.1 案例目標 294
11.4.2 案例分析 294
11.4.3 案例實施 295
11.5 練習:多模塊引用案例再現 299
第12章 應用程序打包和發布 300
12.1 應用程序打包 300
12.1.1 生成未簽名的App包 301
12.1.2 生成簽名App包的流程 304
12.2 發布應用 304
