HarmonyOS應用開發與實踐

王宗躍,羅方芳,歐忠良,蘇鉛坤,陳建林

  • 出版商: 清華大學
  • 出版日期: 2026-09-01
  • 售價: $474
  • 語言: 簡體中文
  • ISBN: 7302722498
  • ISBN-13: 9787302722496
  • 相關分類: Cross-Platform
  • 下單後立即進貨 (約4週~6週)

  • HarmonyOS應用開發與實踐-preview-1
  • HarmonyOS應用開發與實踐-preview-2
  • HarmonyOS應用開發與實踐-preview-3
  • HarmonyOS應用開發與實踐-preview-4
  • HarmonyOS應用開發與實踐-preview-5
  • HarmonyOS應用開發與實踐-preview-6
  • HarmonyOS應用開發與實踐-preview-7
HarmonyOS應用開發與實踐-preview-1

商品描述

本書全面介紹HarmonyOS應用開發技術,以“驢途”旅遊應用為實踐案例,系統講解從基礎到高級的開發全流程。內容涵蓋開發環境搭建、UI界面開發、應用模型開發、數據管理、權限管理、設備能力集成、NDK技術應用、元服務開發及端雲一體化開發等核心技術。本書通過豐富的代碼示例和實踐項目,幫助讀者掌握ArkTS語言、分布式應用架構、可分可合的組件化設計、一次開發多端部署等關鍵技術。 本書理論基礎與應用實例相結合,實例分析與圖解相結合,實例均有詳細的思路分析與代碼實現,淺顯易懂,實用性強,適合作為高等院校計算機及相關專業的教材或參考書以及企業培訓資料,或供具備基礎編程能力的開發者學習進階。

作者簡介

王宗躍,單位:集美大學計算機工程學院 職務:院長,職稱:教授,主要從事操作系統、程序設計等研究與教學。

目錄大綱

目錄

第1章前端開發基礎/1

1.1JavaScript基礎1

1.1.1快速開始1

1.1.2變量及數據類型2

1.1.3運算符3

1.1.4流程控制4

1.1.5函數8

1.2ES6的新特性11

1.2.1變量聲明11

1.2.2箭頭函數13

1.2.3模板字符串14

1.2.4類Class15

1.2.5模塊化16

1.2.6Promise18

1.3TypeScript20

1.3.1TypeScript概述20

1.3.2靜態類型系統20

1.3.3抽象類和接口21

1.3.4枚舉23

1.3.5泛型24

【本章總結】25

【課後習題】26

第2章HarmonyOS應用開發環境/27

2.1華為DevEco Studio的安裝和配置27

2.2第一個鴻蒙程序29

2.3項目結構31

2.3.1項目結構目錄說明31

2.3.2module.json5配置文件說明32

2.4預覽器Preview34

2.5本地模擬器352.6本地真機環境的搭建38

2.7程序調試Debug的使用40

2.8修改App項目的圖標和名稱40

【本章總結】42

【課後習題】42

第3章ArkTS狀態管理與渲染控制/44

3.1ArkTS概述44

3.2ArkUI的基本組成45

3.3自定義組件46

3.3.1自定義組件的基本結構46

3.3.2創建旅遊攻略組件47

3.4狀態管理49

3.4.1狀態管理概述49

3.4.2@State50

3.4.3@Prop50

3.4.4@Link52

3.4.5@Provide/@Consume52

3.4.6@Observed/@ObjectLink53

3.5管理應用擁有的狀態54

3.5.1LocalStorage54

3.5.2AppStorage56

3.6渲染控制57

3.6.1if/else條件渲染58

3.6.2ForEach循環渲染59

【本章總結】61

【課後習題】61

第4章ArkUI常用組件與布局/62

4.1ArkUI常用組件62

4.2ArkUI組件的基本屬性CommonAttribute63

4.3案例實踐: 驢途項目開屏頁Welcome.ets開發64

4.4ArkUI組件基本事件CommonEvent66

4.5ArkUI布局69

4.5.1線性布局69

4.5.2層疊布局72

4.5.3相對布局72

4.5.4列表73

4.6案例實踐: 驢途項目首頁Index開發74

4.6.1首頁搜索欄的實現74

4.6.2首頁輪播圖的實現76

4.6.3旅遊攻略列表的實現76

4.6.4底部TabBar的實現79

【本章總結】82

【課後習題】83

第5章界面動畫手勢與Web組件開發/84

5.1動畫84

5.1.1動畫參數84

5.1.2動畫屬性(animation)85

5.1.3顯式動畫(animateTo)86

5.1.4幀動畫(ohos.animator)86

5.1.5轉場動畫88

5.2手勢(gesture)89

5.2.1手勢類型89

5.2.2綁定手勢(gesture)90

5.2.3各手勢接口91

5.3Web組件92

5.3.1Web組件和WebController控制器92

5.3.2加載遠程網頁和本地網頁93

5.3.3App與Web組件內的網頁交互94

5.4案例實踐——旅遊攻略詳情頁95

5.4.1旅遊攻略詳情頁整體結構的構建96

5.4.2頭部實現96

5.4.3主體實現97

5.4.4底部實現99

5.4.5評論區實現99

5.5攻略分享頁面的整體構建101

5.5.1攻略分享頁面的整體結構101

5.5.2照片分享區域的實現102

5.5.3攻略分享頁面自定義彈窗的實現103

5.6註冊頁面104

5.6.1註冊頁面的整體結構105

5.6.2註冊表單信息校驗106

5.6.3《用戶協議和隱私政策》彈窗107

【本章總結】108

【課後習題】108

第6章應用模型開發/109

6.1應用模型概述109

6.2Stage模型概述110

6.3應用配置文件111

6.3.1全局配置文件app.json111

6.3.2模塊配置文件module.json111

6.3.3應用圖標及名稱113

6.4AbilityStage組件容器114

6.4.1應用上下文(Context)114

6.4.2AbilityStage114

6.4.3AbilityStage開發實踐115

6.5UIAbility組件116

6.5.1UIAbility的啟動模式116

6.5.2指定實例啟動旅遊攻略列表117

6.5.3UIAbility組件的生命周期118

6.5.4WindowStage119

6.6啟動應用內的UIAbility組件120

6.6.1啟動應用內的UIAbility120

6.6.2AbilityStage獲取Key121

6.6.3UIAbility獲取參數123

6.6.4UIAbility組件與UI的數據同步123

6.7應用間跳轉125

6.7.1拉起指定應用125

6.7.2拉起指定類型的應用128

【本章總結】130

【課後習題】130

第7章權限管理與網絡請求/132

7.1應用權限概述132

7.1.1APL等級132

7.1.2權限授權方式133

7.2申請權限133

7.2.1申請權限的流程133

7.2.2聲明權限133

7.3向用戶申請授權135

7.4網絡請求139

7.4.1HTTP模塊139

7.4.2HTTP請求和應答139

7.5應用簽名141

7.5.1創建密鑰庫文件及證書請求文件141

7.5.2創建HarmonyOS應用/元服務142

7.5.3申請調試證書143

7.5.4申請調試Profile文件143

7.5.5配置簽名145

【本章總結】146

【課後習題】146

第8章文件服務和數據管理/148

8.1文件基礎服務概述148

8.1.1文件分類148

8.1.2文件基礎服務的特點148

8.2應用文件開發149

8.2.1沙箱目錄150

8.2.2獲取應用文件路徑151

8.2.3獲取模塊文件路徑152

8.2.4應用文件操作154

8.3用戶文件開發157

8.3.1用戶文件概述157

8.3.2選擇用戶文件158

8.3.3保存用戶文件162

8.4數據管理165

8.5用戶首選項的開發166

8.6鍵值型數據庫的開發169

8.7關系數據庫的開發171

8.7.1草稿保存功能173

8.7.2草稿讀取功能176

8.7.3草稿刪除功能178

8.7.4草稿修改功能181

【本章總結】182

【課後習題】183

第9章應用後臺任務/184

9.1後臺任務概述184

9.2短時任務185

9.2.1短時任務概述185

9.2.2攻略分享數據保存185

9.3長時任務186

9.3.1長時任務概述186

9.3.2用戶定位持續更新187

9.4延遲任務189

9.4.1延遲任務概述189

9.4.2延遲任務實踐190

9.5代理提醒192

【本章總結】192

【課後習題】193

第10章手機能力開發/194

10.1公共事件服務194

10.1.1公共事件概述194

10.1.2公共事件的類型195

10.1.3訂閱電量過低事件195

10.2用戶通知服務196

10.2.1用戶通知服務概述196

10.2.2發布通知197

10.3剪貼板服務199

10.3.1剪貼板概述199

10.3.2剪貼板實踐199

【本章總結】200

【課後習題】201

第11章SDK開放能力/202

11.1HarmonyOS應用服務202

11.2Scan Kit統一掃碼服務203

11.2.1Scan Kit概述203

11.2.2用戶二維碼生成203

11.2.3默認界面掃碼能力204

11.3Location Kit位置服務205

11.3.1位置服務概述205

11.3.2獲取設備的當前位置206

11.4Map Kit地圖服務207

11.4.1地圖服務概述207

11.4.2開發前的準備207

11.4.3地圖顯示209

11.4.4地圖交互211

11.4.5地圖Poi搜索212

11.5Ads Kit廣告服務214

11.5.1廣告的分類214

11.5.2開發前的準備214

11.5.3展示開屏廣告215

【本章總結】217

【課後習題】218

第12章集成第三方庫的NDK技術應用/219

12.1NAPI技術219

12.1.1NAPI的工作原理219

12.1.2NAPI常用的API(NodeAPI)220

12.2NDK工程222

12.2.1NDK工程的創建222

12.2.2ArkTS側文件列表223

12.2.3Native C++側文件列表224

12.2.4NDK應用總體調用流程224

12.3NDK工程編譯和使用226

12.3.1HarmonyOS NDK工程編譯說明226

12.3.2CMakelist文件說明226

12.3.3NAPI常用庫227

12.4ArkTS應用與Native C++交互技術228

12.4.1同步調用(ArkTS→C++)229

12.4.2同步回調(C++→ArkTS)234

12.4.3異步調用(ArkTS→C++→…→ArkTS)235

12.4.4ArkTS對象與Native對象綁定239

12.5XComponent組件245

12.5.1XComponent組件簡介245

12.5.2NativeXComponent組件246

12.5.3XComponent組件與NativeXComponent接口247

12.5.4XComponent組件管理機制251

12.6XComponent組件應用案例: 自定義控件261

12.6.1XComponent組件封裝261

12.6.2自定義控件事件處理262

12.6.3第三方庫EGL接口和使用264

12.6.4自定義控件繪制渲染267

【本章總結】282

【課後習題】283

第13章元服務開發與可分可合、自由流轉/284

13.1元服務概述284

13.1.1元服務和應用的區別284

13.1.2元服務的特征285

13.2元服務開發286

13.2.1創建元服務工程286

13.2.2元服務圖標開發289

13.2.3景點門票元服務首頁開發290

13.2.4景點門票詳情頁開發291

13.2.5元服務卡片開發293

13.3可分可合302

13.3.1開發態復用302

13.3.2運行態復用308

13.4自由流轉311

13.4.1自由流轉概述311

13.4.2應用接續開發實踐312

【本章總結】315

【課後習題】316

第14章一次開發,多端部署/317

14.1“一多”的定義及目標317

14.2“一多”的開發流程318

14.2.1UX設計318

14.2.2架構設計與工程管理318

14.2.3頁面開發319

14.2.4功能開發319

14.3“一多”架構設計與工程管理320

14.3.1分層架構邏輯模型320

14.3.2分層架構開發模型321

14.3.3分層架構部署模型322

14.3.4分層架構的實現323

14.4“一多”頁面的開發327

14.4.1布局能力328

14.4.2布局能力實踐343

14.4.3交互歸一347

14.4.4多態組件348

14.5“一多”功能的開發348

14.5.1系統能力(SysCap)與API348

14.5.2多設備應用開發349

【本章總結】350

【課後習題】351

第15章端雲一體化開發/352

15.1雲開發服務352

15.1.1雲開發服務的優勢352

15.1.2端雲一體化開發的流程353

15.2創建端雲一體化工程354

15.2.1端雲一體化工程的創建354

15.2.2端雲一體化工程目錄結構357

15.3雲數據庫開發358

15.3.1雲數據庫的概念358

15.3.2雲數據庫開發的流程360

15.3.3端側訪問雲數據庫366

15.4雲函數開發369

15.4.1雲函數的概念369

15.4.2雲函數開發的流程369

15.4.3端側調用雲函數376

【本章總結】377

【課後習題】377

參考文獻/379

最後瀏覽商品 (20)