
內容簡介
《純血鴻蒙HarmonyOS NEXT原生開發之旅》全麵係統地介紹了基於HarmonyOS NEXT係統進行原生應用開發的實用技巧。全書共12章,內容涵蓋從基礎工具使用到高級功能實現的各個方麵。第1章詳細介紹了開發環境的搭建、ArkTS語言基礎及UI描述。第2章深入探討了Ability組件和信息傳遞機製。第3章和第4章分別講解了UI開發的基礎知識和進階技巧,包括ArkUI框架和自定義組件。第5章探討了一次開發多端部署的策略。第6章介紹了多媒體應用的開發方法。第7章討論了進程間通信和任務管理。第8章涉及窗口管理和通知功能。第9章講解了網絡編程的基本方法。第10章關注於應用安全管理。第11章詳細介紹了服務卡片的開發流程。第12章通過一個購物應用案例,將前麵章節的知識綜合運用,展示了一個完整的項目實戰過程。
《純血鴻蒙HarmonyOS NEXT原生開發之旅》適合初學者和轉型到鴻蒙係統開發的有經驗的程序員閱讀,也可以作為相關培訓機構和高校相關專業的教學用書。
作者簡介
楊春鵬,資深軟件工程師,有超過十年的行業經驗,曾就職於快手,容貓,四維等大廠,涉獵大前端、Python、鴻蒙等領域技術,持有鴻蒙高級開發者證書,多次參與企業和高校鴻蒙技術培訓。業餘時間熱愛分享,阿裏雲、 CSDN技術社區專家博主,發表技術文章數百篇。
目錄
目錄第1章初識鴻蒙HarmonyOSNEXT 1
1.1DevEcoStudio開發工具 1
1.1.1下載和安裝DevEcoStudio 1
1.1.2DevEcoStudio的基本使用 4
1.1.3手機運行HelloWorld應用 6
1.1.4了解基本工程目錄 7
1.2ArkTS語言之基本UI描述 8
1.2.1基本概念 9
1.2.2創建組件 9
1.2.3屬性配置 11
1.2.4事件配置 14
1.2.5子組件配置 15
1.3ArkTS語言之狀態管理 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.4ArkTS語言之狀態管理進階 33
1.4.1LocalStorage:頁麵級UI狀態存儲 34
1.4.2AppStorage:應用全局的UI狀態存儲 36
1.4.3PersistentStorage:持久化存儲UI狀態 38
1.5ArkTS語言之動態構建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.1Stage模型的概述 48
2.1.1重要概念 48
2.1.2應用/組件級配置 49
2.2UIAbility組件 53
2.2.1UlAbility組件的概述 54
2.2.2UIAbility組件的生命周期 54
2.2.3UIAbility組件的啟動模式 57
2.2.4UIAbility組件的基本用法 63
2.2.5UlAbility組件與UI的數據同步 65
2.3信息傳遞的載體want 67
2.3.1want的概述 67
2.3.2顯式want與隱式want的匹配規則 68
2.4實戰:顯示want啟動Ability 71
2.5實戰:隱式want打開瀏覽器 73
2.6本章小結 75
第3章UI開發基礎 76
3.1ArkUI概述 76
3.2ArkTS的聲明式開發範式 77
3.3常用組件 78
3.4基礎組件詳解 80
3.4.1AlphabetIndexer 82
3.4.2Blank 84
3.4.3Button 85
3.4.4CalendarPicker 89
3.4.5Checkbox 90
3.4.6CheckboxGroup 91
3.4.7ContainerSpan 92
3.4.8DataPanel 92
3.4.9DatePicker 93
3.4.10Divider 94
3.4.11Gauge 95
3.4.12Image 97
3.4.13ImageAnimator 99
3.4.14ImageSpan 101
3.4.15LoadingProgress 101
3.4.16Marquee 102
3.4.17Menu 103
3.4.18MenuItem 103
3.4.19MenuItemGroup 105
3.4.20Radio 106
3.4.21Rating 107
3.4.22RichText 108
3.4.23Select 109
3.4.24Slider 110
3.4.25Text 112
3.4.26TextArea 114
3.4.27TextClock 114
3.4.28TextInput 115
3.4.29TextPicker 116
3.4.30TextTimer 117
3.4.31TimePicker 118
3.4.32Toggle 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.1Badge 130
4.1.2Column和Row 132
4.1.3ColumnSplit和RowSplit 135
4.1.4Counter 136
4.1.5Flex 137
4.1.6WaterFlow和FlowItem 148
4.1.7Stack 153
4.1.8GridRow和GridCol 153
4.1.9Grid和GridItem 156
4.1.10Hyperlink 161
4.1.11List、ListItem和
ListItemGroup 162
4.1.12Navigator 166
4.1.13Panel 169
4.1.14Refresh 170
4.1.15RelativeContainer 173
4.1.16Scroll 175
4.1.17SideBarContainer 178
4.1.18Swiper 180
4.1.19Tabs和TabContent 184
4.2繪製組件詳解 188
4.2.1Circle 188
4.2.2Ellipse 189
4.2.3Line 189
4.2.4Polyline 191
4.2.5Polygon 192
4.2.6Path 192
4.2.7Rect 194
4.2.8Shape 195
4.3畫布組件Canvas 199
4.3.1畫布組件及對象 199
4.3.2Canvas組件示例 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.1TODO類定義 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.1ExtensionAbility組件 293
7.1.1ExtensionAbility組件概述 293
7.1.2FormExtensionAbility組件 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.1BackgroundTasksKit簡介 301
7.4.2短時任務的開發 302
7.4.3長時任務的開發 303
7.4.4延遲任務的開發 305
7.5Stage模型的應用配置文件 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.1HTTP數據請求 331
9.1.1request接口開發 332
9.1.2requestInStream接口開發 336
9.1.3引入第三方庫ohos_axios 337
9.2Web組件的頁麵加載 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.5Web組件加載詳情頁麵 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.2ArkTS卡片運行機製 361
11.3ArkTS卡片相關模塊 362
11.4ArkTS卡片的開發 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
附錄AArkTS語言基礎 397
A.1編程語言 397
A.2TypeScript語法 398
A.3語法進階 402
A.4類 406
······
最後修改:2025 年 09 月 30 日
© 允許規範轉載
