純血鴻蒙HarmonyOS NEXT原生開發之旅

楊春鵬

  • 出版商: 清華大學
  • 出版日期: 2025-05-01
  • 售價: $654
  • 語言: 簡體中文
  • ISBN: 7302685959
  • ISBN-13: 9787302685951
  • 下單後立即進貨 (約4週~6週)

  • 純血鴻蒙HarmonyOS NEXT原生開發之旅-preview-1
  • 純血鴻蒙HarmonyOS NEXT原生開發之旅-preview-2
  • 純血鴻蒙HarmonyOS NEXT原生開發之旅-preview-3
純血鴻蒙HarmonyOS NEXT原生開發之旅-preview-1

相關主題

商品描述

"《純血鴻蒙HarmonyOS NEXT原生開發之旅》全面系統地介紹了基於HarmonyOS NEXT系統進行原生應用開發的實用技巧。全書共12章,內容涵蓋從基礎工具使用到高級功能實現的各個方面。第1章詳細介紹了開發環境的搭建、ArkTS語言基礎及UI描述。第2章深入探討了Ability組件和信息傳遞機制。第3章和第4章分別講解了UI開發的基礎知識和進階技巧,包括ArkUI框架和自定義組件。第5章探討了一次開發多端部署的策略。第6章介紹了多媒體應用的開發方法。第7章討論了進程間通信和任務管理。第8章涉及窗口管理和通知功能。第9章講解了網絡編程的基本方法。第10章關註於應用安全管理。第11章詳細介紹了服務卡片的開發流程。第12章通過一個購物應用案例,將前面章節的知識綜合運用,展示了一個完整的項目實戰過程。 《純血鴻蒙HarmonyOS NEXT原生開發之旅》適合初學者和轉型到鴻蒙系統開發的有經驗的程序員閱讀,也可以作為相關培訓機構和高校相關專業的教學用書。"

目錄大綱

目    錄

第 1 章  初識鴻蒙HarmonyOS NEXT 1

1.1  DevEco Studio開發工具 1

1.1.1  下載和安裝DevEco Studio 1

1.1.2  DevEco Studio的基本使用 4

1.1.3  手機運行Hello World應用 6

1.1.4  瞭解基本工程目錄 7

1.2  ArkTS語言之基本UI描述 8

1.2.1  基本概念 9

1.2.2  創建組件 9

1.2.3  屬性配置 11

1.2.4  事件配置 14

1.2.5  子組件配置 15

1.3  ArkTS語言之狀態管理 16

1.3.1  @State 16

1.3.2  @Prop 22

1.3.3  @Link 26

1.3.4  @Observed和@ObjectLink 28

1.3.5  @Consume和@Provide 30

1.3.6  @Watch 32

1.4  ArkTS語言之狀態管理進階 33

1.4.1  LocalStorage:頁面級UI狀態存儲 34

1.4.2  AppStorage:應用全局的UI狀態存儲 36

1.4.3  PersistentStorage:持久化存儲UI狀態 38

1.5  ArkTS語言之動態構建UI元素 39

1.5.1  @Builder 39

1.5.2  @BuilderParam 41

1.5.3  @Styles 42

1.5.4  @Extend 44

1.6  實戰:自定義導航 45

1.7  本章小結 47

第 2 章  Ability開發 48

2.1  Stage模型的概述 48

2.1.1  重要概念 48

2.1.2  應用/組件級配置 49

2.2  UIAbility組件 53

2.2.1  UlAbility組件的概述 54

2.2.2  UIAbility組件的生命周期 54

2.2.3  UIAbility組件的啟動模式 57

2.2.4  UIAbility組件的基本用法 63

2.2.5  UlAbility組件與UI的數據同步 65

2.3  信息傳遞的載體want 67

2.3.1  want的概述 67

2.3.2  顯式want與隱式want的匹配規則 68

2.4  實戰:顯示want啟動Ability 71

2.5  實戰:隱式want打開瀏覽器 73

2.6  本章小結 75

第 3 章  UI開發基礎 76

3.1  ArkUI概述 76

3.2  ArkTS的聲明式開發範式 77

3.3  常用組件 78

3.4  基礎組件詳解 80

3.4.1  AlphabetIndexer 82

3.4.2  Blank 84

3.4.3  Button 85

3.4.4  CalendarPicker 89

3.4.5  Checkbox 90

3.4.6  CheckboxGroup 91

3.4.7  ContainerSpan 92

3.4.8  DataPanel 92

3.4.9  DatePicker 93

3.4.10  Divider 94

3.4.11  Gauge 95

3.4.12  Image 97

3.4.13  ImageAnimator 99

3.4.14  ImageSpan 101

3.4.15  LoadingProgress 101

3.4.16  Marquee 102

3.4.17  Menu 103

3.4.18  MenuItem 103

3.4.19  MenuItemGroup 105

3.4.20  Radio 106

3.4.21  Rating 107

3.4.22  RichText 108

3.4.23  Select 109

3.4.24  Slider 110

3.4.25  Text 112

3.4.26  TextArea 114

3.4.27  TextClock 114

3.4.28  TextInput 115

3.4.29  TextPicker 116

3.4.30  TextTimer 117

3.4.31  TimePicker 118

3.4.32  Toggle 119

3.5  實戰:城市列表選擇案例 121

3.5.1  數據模塊的定義 122

3.5.2  主頁佈局 123

3.5.3  實現城市列表組件 125

3.5.4  實現搜索組件 127

3.5.5  項目小結 128

3.6  本章小結 128

第 4 章  UI開發進階 129

4.1  容器組件詳解 129

4.1.1  Badge 130

4.1.2  Column和Row 132

4.1.3  ColumnSplit和RowSplit 135

4.1.4  Counter 136

4.1.5  Flex 137

4.1.6  WaterFlow和FlowItem 148

4.1.7  Stack 153

4.1.8  GridRow和GridCol 153

4.1.9  Grid和GridItem 156

4.1.10  Hyperlink 161

4.1.11  List、ListItem和

ListItemGroup 162

4.1.12  Navigator 166

4.1.13  Panel 169

4.1.14  Refresh 170

4.1.15  RelativeContainer 173

4.1.16  Scroll 175

4.1.17  SideBarContainer 178

4.1.18  Swiper 180

4.1.19  Tabs和TabContent 184

4.2  繪制組件詳解 188

4.2.1  Circle 188

4.2.2  Ellipse 189

4.2.3  Line 189

4.2.4  Polyline 191

4.2.5  Polygon 192

4.2.6  Path 192

4.2.7  Rect 194

4.2.8  Shape 195

4.3  畫布組件Canvas 199

4.3.1  畫布組件及對象 199

4.3.2  Canvas組件示例 202

4.4  彈窗詳解 207

4.4.1  警告彈窗(AlertDialog) 208

4.4.2  列表選擇彈窗(ActionSheet) 209

4.4.3  自定義彈窗(CustomDialog) 211

4.4.4  日歷選擇器彈窗(CalendarPickerDialog) 214

4.4.5  日期滑動選擇器彈窗(DatePickerDialog) 215

4.4.6  時間滑動選擇器彈窗(TimePickerDialog) 217

4.4.7  文本滑動選擇器彈窗(TextPickerDialog) 219

4.5  自定義組件生命周期 220

4.5.1  自定義組件生命周期概述 220

4.5.2  自定義組件生命周期示例 221

4.6  實戰:待辦列表案例 223

4.6.1  TODO類定義 223

4.6.2  常量數據 224

4.6.3  列表項頁面 224

4.6.4  列表項增刪功能頁面 228

4.7  本章小結 232

第 5 章  一次開發多端部署 233

5.1  “一多”開發工程目錄管理 233

5.1.1  創建工程 233

5.1.2  新建Module 233

5.1.3  修改Module配置 235

5.1.4  調整目錄結構,修改依賴關系 240

5.1.5  引用ohpm包中的代碼 241

5.2  自適應佈局 244

5.2.1  拉伸能力 245

5.2.2  均分能力 247

5.2.3  占比能力 249

5.2.4  縮放能力 252

5.2.5  延伸能力 254

5.2.6  隱藏能力 258

5.2.7  折行能力 261

5.3  響應式佈局 262

5.3.1  斷點 263

5.3.2  媒體查詢 265

5.3.3  柵格佈局 268

5.4  實戰:頁簽欄佈局 270

5.4.1  案例準備 271

5.4.2  案例實現 271

5.5  本章小結 274

第 6 章  多媒體應用開發 275

6.1  音頻開發 275

6.1.1  音頻開發概述 275

6.1.2  音頻播放示例 278

6.1.3  音頻錄制示例 282

6.2  視頻開發 284

6.3  實戰:語音錄制和聲音動效的實現 288

6.3.1  案例要求與工程結構 288

6.3.2  案例實現 288

6.4  本章小結 292

第 7 章  進程通信 293

7.1  ExtensionAbility組件 293

7.1.1  ExtensionAbility組件概述 293

7.1.2  FormExtensionAbility組件 294

7.2  進程間通信 295

7.2.1  進程模型 295

7.2.2  公共事件簡介 296

7.2.3  訂閱公共事件 297

7.2.4  發布公共事件 299

7.3  線程間通信 300

7.3.1  線程模型 300

7.3.2  使用Emitter進行線程間通信 300

7.4  任務管理 301

7.4.1  Background Tasks Kit簡介 301

7.4.2  短時任務的開發 302

7.4.3  長時任務的開發 303

7.4.4  延遲任務的開發 305

7.5  Stage模型的應用配置文件 307

7.6  實戰:在Worker子線程中解壓文件 309

7.6.1  工程結構和模塊類型 309

7.6.2  實現思路 310

7.6.3  效果演示 311

7.7  本章小結 311

第 8 章  窗口管理 312

8.1  窗口開發概述 312

8.2  管理應用窗口 313

8.2.1  設置應用主窗口 313

8.2.2  設置應用子窗口 314

8.2.3  窗口的沉浸式能力 316

8.2.4  設置懸浮窗口 317

8.2.5  監聽窗口不可交互與可交互事件 319

8.3  通知 320

8.3.1  通知概述 320

8.3.2  通知消息樣式 326

8.3.3  撤回通知消息 327

8.4  實戰:窗口管理應用 328

8.4.1  窗口管理應用功能說明 328

8.4.2  窗口管理應用的實現 328

8.5  本章小結 330

第 9 章  網絡編程 331

9.1  HTTP數據請求 331

9.1.1  request接口開發 332

9.1.2  requestInStream接口開發 336

9.1.3  引入第三方庫ohos_axios 337

9.2  Web組件的頁面加載 339

9.2.1  加載網絡頁面 340

9.2.2  加載本地頁面 341

9.2.3  加載HTML格式的文本數據 343

9.3  實戰:通過HTTP請求數據 344

9.3.1  準備一個HTTP服務接口 344

9.3.2  使用List組件進行卡片佈局 344

9.3.3  通過生命周期發起HTTP請求 345

9.3.4  通過生命周期使用第三方庫發起HTTP請求 345

9.3.5  Web組件加載詳情頁面 346

9.4  本章小結 346

第 10 章  安全管理 347

10.1  訪問控制概述 347

10.1.1  應用沙箱 347

10.1.2  應用權限等級和授權方法 347

10.1.3  系統控件 349

10.2  訪問控制開發流程 349

10.2.1  權限列表 349

10.2.2  申請權限 351

10.2.3  授予權限 352

10.3  實戰:獲取位置授權 356

10.3.1  場景描述 356

10.3.2  聲明訪問的權限 356

10.3.3  申請授權 356

10.3.4  獲取地理位置 357

10.4  本章小結 357

第 11 章  服務卡片開發 358

11.1  服務卡片概述 358

11.1.1  服務卡片架構 358

11.1.2  服務卡片的開發模式 360

11.1.3  服務卡片的制約 360

11.2  ArkTS卡片運行機制 361

11.3  ArkTS卡片相關模塊 362

11.4  ArkTS卡片的開發 364

11.4.1  創建一個ArkTS卡片 364

11.4.2  配置卡片參數 368

11.4.3  卡片生命周期管理 370

11.5  實戰:電子相冊案例 372

11.5.1  項目概述 372

11.5.2  項目頁面代碼解讀 372

11.5.3  添加卡片事件 379

11.6  本章小結 381

第 12 章  項目實戰:多端部署之購物應用 382

12.1  項目概述 382

12.1.1  購物應用的功能 382

12.1.2  應用效果演示 383

12.2  代碼結構 383

12.3  頁面結構 385

12.3.1  啟動頁 385

12.3.2  主頁 386

12.3.3  首頁標簽頁 387

12.3.4  新品標簽頁 388

12.3.5  購物車標簽頁 388

12.3.6  我的標簽頁 389

12.3.7  商品詳情頁 390

12.3.8  訂單確認頁 391

12.3.9  訂單支付頁 393

12.3.10  訂單列表頁 395

12.4  本章小結 396

附錄A  ArkTS語言基礎 397

A.1  編程語言 397

A.2  TypeScript語法 398

A.3  語法進階 402

A.4  類 406