HCIA-HarmonyOS應用開發(fā)學習指南
定 價:199.8 元
- 作者:華為技術有限公司
- 出版時間:2022/5/1
- ISBN:9787115584663
- 出 版 社:人民郵電出版社
- 中圖法分類:TN929.53
- 頁碼:476
- 紙張:
- 版次:01
- 開本:16開
本書首先對HarmonyOS和OpenHarmony進行概述,同時闡述了兩者的區(qū)別,其次講解了HarmonyOS應用開發(fā)的流程以及必備的開發(fā)基礎知識,接著介紹了基于JS UI框架以及豐富的組件快速開發(fā)應用程序UI的方法,然后針對 HarmonyOS 的接口能力進行了詳細說明,還介紹了Java PA開發(fā),包括Service開發(fā)、JS和Java的混合開發(fā)(JS FA調(diào)用Java PA)、數(shù)據(jù)庫及Data Ability開發(fā)等,最后通過3個開發(fā)專題講解HarmonyOS應用開發(fā)的重要核心技術。除了全面的知識講解,本書還有詳細的案例說明,通過理論與案例結(jié)合,使開發(fā)者快速掌握各項基礎開發(fā)技能。
本書作為HarmonyOS應用開發(fā)工具手冊,適合有一定基礎的JS和Java開發(fā)者或?qū)armonyOS感興趣的移動應用開發(fā)、設計、測試工程師及小程序開發(fā)人員閱讀,可幫助讀者快速掌握HarmonyOS應用開發(fā)的技巧。
1. 本書是華為官方認證書籍。
2. 本書彌補了鴻蒙認證圖書領域的不足。
3. 本書由業(yè)界鴻蒙應用開發(fā)專業(yè)人士編寫,具有豐富的移動端應用開發(fā)經(jīng)驗。
4. 本書包含豐富的代碼講解和操作步驟講解,圖文并茂,通俗易懂。
華為技術有限公司,成立于1987年,總部位于廣東省深圳市龍崗區(qū)。華為是全球領先的信息與通信技術(ICT)解決方案供應商,專注于ICT領域,堅持穩(wěn)健經(jīng)營、持續(xù)創(chuàng)新、開放合作,在電信運營商、企業(yè)、終端和云計算等領域構筑了端到端的解決方案優(yōu)勢,為運營商客戶、企業(yè)客戶和消費者提供有競爭力的ICT解決方案、產(chǎn)品和服務,并致力于實現(xiàn)未來信息社會、構建更美好的全聯(lián)接世界。
目錄
1 應用開發(fā)介紹 1
1.1 HarmonyOS概述 1
1.1.1 系統(tǒng)定義 1
1.1.2 技術特性 2
1.1.3 系統(tǒng)安全 5
1.2 OpenHarmony概述 7
1.2.1 OpenHarmony開源項目簡介 7
1.2.2 OpenHarmony與HarmonyOS 8
1.3 應用開發(fā)簡介 9
1.3.1 南向設備開發(fā)與北向應用開發(fā)簡介 9
1.3.2 HarmonyOS與OpenHarmony應用開發(fā)的區(qū)別 9
2 應用開發(fā)入門 13
2.1 應用開發(fā)環(huán)境安裝 13
2.1.1 搭建開發(fā)環(huán)境流程 13
2.1.2 下載與安裝軟件 13
2.1.3 配置開發(fā)環(huán)境 16
2.1.4 創(chuàng)建Hello World工程 21
2.1.5 Hello World在預覽器中查看應用效果 23
2.1.6 模擬器運行Hello World 24
2.2 真機調(diào)試 26
2.2.1 真機設備運行流程 26
2.2.2 生成密鑰和證書請求文件 28
2.2.3 創(chuàng)建您的AGC項目 30
2.2.4 創(chuàng)建HarmonyOS應用 32
2.2.5 申請調(diào)試證書、注冊調(diào)試設備和Profile文件 33
2.2.6 配置簽名信息 38
2.2.7 通過DevEco Studio自動化簽名 39
2.2.8 構建帶簽名信息的HAP 41
2.2.9 在Phone或Tablet中運行應用 42
2.3 工程管理 45
2.3.1 APP工程結(jié)構 45
2.3.2 Java工程目錄結(jié)構 46
2.3.3 JS工程目錄結(jié)構 48
2.3.4 ets項目簡介及工程目錄結(jié)構 49
2.3.5 在工程中添加/刪除Module 51
2.4 應用調(diào)試 56
2.4.1 調(diào)試設置 56
2.4.2 啟動調(diào)試 59
2.4.3 斷點管理 60
2.4.4 變量可視化調(diào)試 61
2.4.5 HiLog日志打印 61
3 開發(fā)基礎知識 62
3.1 應用配置文件 62
3.1.1 簡介 62
3.1.2 配置文件的元素 63
3.1.3 配置文件示例 89
3.2 應用資源文件 91
3.2.1 資源文件的分類 91
3.2.2 資源文件的使用 96
3.2.3 國際化能力的支持 101
3.3 安全與隱私 106
3.3.1 應用安全管理 106
3.3.2 應用隱私保護 107
3.3.3 三方應用調(diào)用管控機制 114
3.4 AI能力概述 115
4 基于JS擴展的類Web開發(fā)范式 116
4.1 JS UI框架概述 116
4.1.1 基礎能力 116
4.1.2 整體架構 116
4.1.3 VeiwModel與單向數(shù)據(jù)流 117
4.2 JS FA 概述 118
4.2.1 AceAbility 119
4.2.2 如何加載 JS FA 119
4.2.3 JS FA 開發(fā)目錄 120
4.3 JS FA開發(fā)語法參考 121
4.3.1 HML語法參考 121
4.3.2 CSS語法參考 135
4.3.3 JS語法參考 140
4.3.4 生命周期 146
4.4 JS UI常用組件 148
4.4.1 組件介紹 148
4.4.2 通用屬性 149
4.4.3 通用樣式與Flex布局 150
4.4.4 通用事件 162
4.4.5 通用方法 165
4.4.6 常用容器組件 166
4.4.7 基礎組件 188
4.4.8 媒體組件 217
4.4.9 畫布組件 224
4.5 動畫 233
4.5.1 動畫樣式 233
4.5.2 基于組件的animate方法快速創(chuàng)建和運行動畫 239
4.5.3 基于系統(tǒng)api接口創(chuàng)建和運行動畫 244
4.6 自定義組件 248
4.6.1 基本用法 248
4.6.2 Props自定義屬性 251
4.6.3 自定義事件 256
4.6.4 生命周期定義 259
4.6.5 底部導航欄組件開發(fā)案例 260
4.7 使用JS UI框架開發(fā)智能家居app首頁 268
4.7.1 布局分解 269
4.7.2 導入自定義的底部導航欄組件 270
4.7.3 實現(xiàn)標題區(qū)的內(nèi)容 270
4.7.4 實現(xiàn)總覽區(qū)的內(nèi)容 271
4.7.5 實現(xiàn)房間網(wǎng)格展示區(qū)的內(nèi)容 272
5 JS接口能力開發(fā) 274
5.1 通用 274
5.1.1 通用規(guī)則 274
5.1.2 通用錯誤碼 277
5.2 基本功能 278
5.2.1 啟動一個Ability 278
5.2.2 意圖常量 284
5.2.3 應用上下文 286
5.2.4 日志打印 287
5.2.5 頁面路由 288
5.2.6 彈窗 296
5.2.7 應用配置 299
5.2.8 定時器 300
5.2.9 窗口 302
5.2.10 剪貼板 308
5.3 文件與數(shù)據(jù)存儲 310
5.3.1 輕量級存儲 310
5.3.2 Ability上下文 314
5.3.3 文件交互 314
5.3.4 文件管理 316
5.4 網(wǎng)絡訪問 319
5.4.1 數(shù)據(jù)請求 319
5.4.2 上傳下載 323
5.4.3 WebSocket連接 326
5.5 系統(tǒng)能力 329
5.5.1 通知消息 329
5.5.2 振動 330
5.5.3 傳感器 331
5.5.4 地理位置 333
5.5.5 網(wǎng)絡狀態(tài) 336
5.5.6 設備信息 338
5.5.7 屏幕亮度 339
5.5.8 電池和充電屬性 342
5.5.9 電量信息 344
5.5.10 應用管理 345
5.5.11 媒體查詢 345
5.5.12 國際化 347
5.6 通信與連接 350
5.6.1 WLAN 350
6 Java PA開發(fā) 352
6.1 Service Ability開發(fā) 352
6.1.1 Service Ability 基本概念 352
6.1.2 創(chuàng)建 Service 352
6.1.3 啟動 Service 355
6.1.4 停止 Service 356
6.2 JS FA 調(diào)用 PA 356
6.2.1 FA 調(diào)用 PA 接口 356
6.2.2 FA 調(diào)用 PA 常見問題 357
6.2.3 JS FA 調(diào)用 PA完整示例 357
6.3 關系型數(shù)據(jù)庫 365
6.3.1 關系型數(shù)據(jù)庫概述 365
6.3.2 數(shù)據(jù)庫的創(chuàng)建和刪除 365
6.3.3 插入數(shù)據(jù) 367
6.3.4 更新數(shù)據(jù) 368
6.3.5 刪除數(shù)據(jù) 368
6.3.6 查詢數(shù)據(jù) 369
6.3.7 數(shù)據(jù)庫謂詞的使用 370
6.4 對象關系映射數(shù)據(jù)庫 371
6.4.1 對象關系映射數(shù)據(jù)庫概述 371
6.4.2 配置gradle 371
6.4.3 構造數(shù)據(jù)庫 372
6.4.4 構造數(shù)據(jù)表 372
6.4.5 創(chuàng)建數(shù)據(jù)庫 375
6.4.6 對象數(shù)據(jù)的增刪改查 375
6.4.7 設置數(shù)據(jù)變化觀察者 377
6.4.8 備份數(shù)據(jù)庫 377
6.4.9 刪除數(shù)據(jù)庫 378
6.5 Data Ability開發(fā) 378
6.5.1 Data Ability基本概念 378
6.5.2 創(chuàng)建Data 379
6.6 訪問Data 383
6.6.1 聲明使用權限 383
6.6.2 創(chuàng)建DataAbilityHelper 384
6.6.3 訪問Data Ability 384
7 JS分布式開發(fā)專題 386
7.1 分布式流轉(zhuǎn)概述 387
7.1.1 基本概念 387
7.1.2 流轉(zhuǎn)架構 387
7.2 權限 388
7.2.1 權限開發(fā)概述 388
7.2.2 敏感權限與非敏感權限 390
7.2.3 自定義權限開發(fā)指導 392
7.2.4 動態(tài)權限申請開發(fā)指導 395
7.3 JS分布式開發(fā)指導 397
7.3.1 使用分布式模擬器運行應用 397
7.3.2 分布式拉起FA 399
7.3.3 分布式遷移 404
7.3.4 分布式API在FA生命周期中的位置 409
8 原子化服務與卡片開發(fā)專題 409
8.1 原子化服務概述 409
8.1.1 什么是原子化服務 409
8.1.2 原子化服務特征 410
8.1.3 原子化服務基礎體驗 410
8.1.4 原子化服務分布式體驗 412
8.1.5 原子化服務典型使用場景 413
8.1.6 服務中心簡介 413
8.2 原子化服務總體開發(fā)要求與入門 416
8.2.1 總體開發(fā)要求 416
8.2.2 原子化服務開發(fā)入門案例 417
8.3 服務卡片 421
8.3.1 服務卡片概述 421
8.3.2 服務卡片開發(fā)簡介 424
8.3.3 JS卡片開發(fā)指導 427
8.3.4 智能家居卡片開發(fā)案例 441
9 基于TS擴展的聲明式開發(fā)范式 454
9.1 概述 454
9.1.1 基礎能力 454
9.1.2 整體架構 455
9.2 體驗聲明式UI 456
9.2.1 創(chuàng)建聲明式UI工程 456
9.2.2 聲明式UI工程目錄結(jié)構及重要文件解析 459
9.2.3 初識Component 461
9.3 聲明式語法 462
9.3.1 描述規(guī)范使用說明 462
9.3.2 基本概念 463
9.3.3 聲明式UI描述規(guī)范 464
9.3.4 組件化 467
9.3.5 UI 狀態(tài)管理 474
9.3.6 渲染控制語法 489
9.3.7 深入理解組件化@Component 496
9.3.8 語法糖 501
9.4 聲明式UI常用組件 504
9.4.1 目前支持的UI組件 504
9.5 使用聲明式UI開發(fā)智能家居頁面 505
9.5.1 布局分解 505
9.5.2 底部導航欄實現(xiàn) 506
9.5.3 實現(xiàn)首頁中的標題區(qū) 514
9.5.4 實現(xiàn)首頁中的總覽區(qū) 515
9.5.5 實現(xiàn)預覽房間網(wǎng)格展示區(qū) 516
10 附錄 519
10.1 華為認證介紹 519
10.2 學習資源 519