內容簡介
《純血鴻蒙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 章 初識鴻蒙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