鴻蒙HarmonyOS套用開發入門

鴻蒙HarmonyOS套用開發入門

《鴻蒙HarmonyOS套用開發入門》是2023年清華大學出版社出版的圖書,作者是柳偉衛。

基本介紹

  • 中文名:鴻蒙HarmonyOS套用開發入門
  • 作者:柳偉衛
  • 出版時間:2024年1月1日
  • 出版社:清華大學出版社
  • ISBN:9787302649113 
  • 定價:89 元
內容簡介,圖書目錄,

內容簡介

HarmonyOS是一款面向未來、面向全場景的分散式作業系統,藉助HarmonyOS全場景分散式系統和設備生態,定義全新的硬體、互動和服務體驗。本書採用**的HarmonyOS 3版本作為基礎,詳細介紹如何基於HarmonyOS 3來進行套用開發,包括HarmonyOS架構、DevEco Studio、套用結構、Ability、UI開發、公共事件、視窗管理、網路編程、安全管理、數據管理等多個主題,還介紹如何從0開始開發計算器、視頻播放器、購物套用、微信套用等。本書輔以大量的實戰案例,圖文並茂,讓讀者易於理解掌握。同時,案例的選型偏重於解決實際問題,具有很強的前瞻性、套用性和趣味性。加入鴻蒙生態,讓我們一起構建萬物互聯的新時代!
《鴻蒙HarmonyOS套用開發入門》適合HarmonyOS套用開發初學者和進階讀者作為自學用書,也適合培訓機構作為培訓教材,還適合大、中專院校的相關專業作為教學參考書。

圖書目錄

目 錄
第1章 HarmonyOS介紹1
1.1 HarmonyOS概述1
1.1.1 什麼是HarmonyOS1
1.1.2 HarmonyOS套用開發2
1.2 HarmonyOS的特徵2
1.2.1 硬體互助,資源共享2
1.2.2 一次開發,多端部署6
1.2.3 統一OS,彈性部署7
1.3 HarmonyOS 3的新特性7
1.3.1 Ability組件的生命周期8
1.3.2 ArkUI開發框架9
1.3.3 ArkTS程式語言9
1.3.4 ExtensionAbility機制9
1.4 DevEco Studio的安裝9
1.4.1 下載DevEco Studio9
1.4.2 安裝DevEco Studio10
1.4.3 配置DevEco Studio11
1.5 實戰:創建第一個HarmonyOS套用14
1.5.1 選擇創建新項目14
1.5.2 選擇模板15
1.5.3 配置項目信息16
1.5.4 自動生成工程代碼17
1.5.5 預覽項目17
1.5.6 運行項目17
1.6 套用工程結構介紹19
1.6.1 工程級目錄19
1.6.2 entry模組級目錄20
1.6.3 配置檔案21
1.7 總結23
1.8 習題24
第2章 Ability的開發25
2.1 Ability概述25
2.1.1 單Ability套用和多Ability套用25
2.1.2 HarmonyOS套用模型25
2.2 FA模型介紹26
2.2.1 FA模型中的Ability26
2.2.2 FA模型的生命周期27
2.2.3 FA模型的進程執行緒模型27
2.3 Stage模型介紹27
2.3.1 Stage模型的設計思想28
2.3.2 Stage模型的Ability生命周期28
2.3.3 Stage模型的Ability啟動模式28
2.4 實戰:Ability內頁面的跳轉和數據傳遞30
2.4.1 新建Ability內頁面30
2.4.2 頁面跳轉及傳參32
2.4.3 參數接收34
2.4.4 運行35
2.5 Want概述36
2.5.1 Want的用途36
2.5.2 Want的類型36
2.5.3 Want參數屬性37
2.6 實戰:顯式Want啟動Ability38
2.6.1 新建Ability內頁面39
2.6.2 新建Ability39
2.6.3 使用顯式Want啟動Ability40
2.6.4 運行41
2.7 實戰:隱式Want打開套用管理41
2.7.1 使用隱式Want啟動Ability42
2.7.2 運行42
2.8 總結43
2.9 習題43
第3章 UI開發(上)45
3.1 ArkUI概述45
3.1.1 ArkUI的基本概念45
3.1.2 ArkUI的主要特徵46
3.1.3 JS、TS、ArkTS、ArkUI和ArkCompiler之間的聯繫47
3.2 聲明式開發範式48
3.2.1 聲明式開發範式與類Web開發範式48
3.2.2 聲明式開發範式的基礎能力48
3.2.3 聲明式開發範式的整體架構49
3.2.4 聲明式開發範式的基本組成50
3.3 常用的組件50
3.4 基礎組件詳解51
3.4.1 Blank51
3.4.2 Button52
3.4.3 Checkbox54
3.4.4 CheckboxGroup54
3.4.5 DataPanel55
3.4.6 DatePicker56
3.4.7 Divider57
3.4.8 Gauge58
3.4.9 Image59
3.4.10 ImageAnimator61
3.4.11 LoadingProgress63
3.4.12 Marquee63
3.4.13 Navigation63
3.4.14 PatternLock64
3.4.15 Progress65
3.4.16 QRCode66
3.4.17 Radio66
3.4.18 Rating66
3.4.19 RichText67
3.4.20 ScrollBar67
3.4.21 Search69
3.4.22 Select69
3.4.23 Slider70
3.4.24 Span71
3.4.25 Stepper與StepperItem72
3.4.26 Text73
3.4.27 TextArea74
3.4.28 TextClock75
3.4.29 TextInput75
3.4.30 TextPicker76
3.4.31 TextTimer76
3.4.32 TimePicker77
3.4.33 Toggle77
3.4.34 Web78
3.5 總結79
3.6 習題79
第4章 UI開發(下)80
4.1 容器組件詳解80
4.1.1 Column和Row80
4.1.2 ColumnSplit和RowSplit82
4.1.3 Flex82
4.1.4 Grid和GridItem83
4.1.5 GridRow和GridCol84
4.1.6 List、ListItem和ListItemGroup85
4.1.7 AlphabetIndexer86
4.1.8 Badge87
4.1.9 Counter88
4.1.10 Navigator89
4.1.11 Panel92
4.1.12 Refresh92
4.1.13 RelativeContainer92
4.1.14 Scroll93
4.1.15 SideBarContainer94
4.1.16 Stack95
4.1.17 Swiper95
4.1.18 Tabs和TabContent96
4.2 媒體組件詳解97
4.3 繪製組件詳解98
4.3.1 Circle和Ellipse98
4.3.2 Line99
4.3.3 Polyline100
4.3.4 Polygon101
4.3.5 Path102
4.3.6 Rect104
4.3.7 Shape106
4.4 畫布組件詳解108
4.5 常用布局109
4.5.1 自適應布局109
4.5.2 回響式布局111
4.6 實戰:使用ArkUI實現“登錄”頁面111
4.6.1 使用Column容器實現整體布局112
4.6.2 使用Image組件實現標誌展示112
4.6.3 使用TextInput組件實現賬號和密碼的輸入112
4.6.4 使用Button組件實現“登錄”按鈕113
4.6.5 使用Text組件實現“註冊”按鈕113
4.6.6 完整代碼113
4.7 實戰:使用ArkUI實現“計算器”114
4.7.1 新增Calculator.ets的檔案114
4.7.2 實現遞歸運算114
4.7.3 實現將輸入的字元串轉為字元串數組116
4.7.4 新增CalculatorButtonInfo.ets檔案117
4.7.5 實現CalculatorButton組件117
4.7.6 構造整體頁面118
4.7.7 運行120
4.8 總結120
4.9 習題120
第5章 公共事件122
5.1 公共事件概述122
5.1.1 公共事件的分類122
5.1.2 公共事件的開發123
5.2 實戰:訂閱、發布、取消公共事件124
5.2.1 添加按鈕124
5.2.2 添加Text顯示接收的事件125
5.2.3 設定按鈕的單擊事件方法125
5.2.4 運行126
5.3 總結127
5.4 習題127
第6章 視窗管理128
6.1 視窗開發概述128
6.1.1 套用視窗的分類128
6.1.2 視窗模組的用途128
6.1.3 視窗沉浸式能力129
6.2 視窗管理129
6.2.1 設定套用主視窗的屬性及目標頁面129
6.2.2 設定套用子視窗的屬性及目標頁面130
6.2.3 體驗視窗沉浸式能力130
6.3 實戰:實現視窗沉浸式效果130
6.3.1 修改onWindowStageCreate方法130
6.3.2 運行131
6.4 總結132
6.5 習題132
第7章 網路編程133
7.1 HTTP數據請求概述133
7.1.1 HTTP請求方法133
7.1.2 HTTP狀態碼134
7.2 實戰:通過HTTP請求數據134
7.2.1 準備一個HTTP服務接口134
7.2.2 添加使用Button組件來觸發單擊134
7.2.3 發起HTTP請求135
7.2.4 運行136
7.3 Web組件概述136
7.3.1 載入本地網頁136
7.3.2 載入線上網頁137
7.3.3 網頁縮放137
7.3.4 文本縮放138
7.3.5 Web組件事件138
7.3.6 Web和JavaScript互動138
7.3.7 處理頁面導航140
7.4 實戰:Web組件載入線上網頁141
7.4.1 準備一個線上網頁地址141
7.4.2 聲明網路訪問許可權141
7.4.3 發起HTTP請求142
7.4.4 運行142
7.5 總結142
7.6 習題143
第8章 安全管理145
8.1 訪問控制概述145
8.1.1 許可權包含的基本概念145
8.1.2 許可權等級說明146
8.1.3 許可權類型146
8.1.4 許可權列表147
8.2 訪問控制開發步驟154
8.2.1 許可權申請154
8.2.2 許可權授權155
8.3 實戰:訪問控制授權155
8.3.1 場景介紹155
8.3.2 聲明訪問的許可權155
8.3.3 申請授權user_grant許可權156
8.3.4 運行157
8.4 總結157
8.5 習題158
第9章 數據管理159
9.1 分散式數據服務概述159
9.1.1 分散式數據服務的基本概念159
9.1.2 分散式數據服務的運作機制161
9.1.3 分散式數據服務的約束與限制162
9.2 分散式數據服務的開發步驟163
9.2.1 導入模組163
9.2.2 構造分散式資料庫管理類實例163
9.2.3 獲取/創建分散式資料庫163
9.2.4 訂閱分散式資料庫的數據變化164
9.2.5 將數據寫入分散式資料庫164
9.2.6 查詢分散式資料庫數據165
9.3 關係資料庫概述165
9.3.1 基本概念165
9.3.2 運作機制166
9.3.3 默認配置與限制166
9.4 實戰:關係資料庫的開發166
9.4.1 操作RdbStore166
9.4.2 賬目信息的表示168
9.4.3 操作賬目信息表169
9.4.4 設計界面171
9.4.5 運行173
9.5 首選項概述174
9.5.1 首選項的運作機制174
9.5.2 約束與限制175
9.6 實戰:首選項開發175
9.6.1 操作Preferences175
9.6.2 賬目信息的表示177
9.6.3 設計界面177
9.6.4 運行179
9.7 總結180
9.8 習題180
第10章 多媒體開發182
10.1 音頻開發182
10.1.1 音頻開發的基本概念182
10.1.2 音頻播放開發指導182
10.1.3 如何選擇音頻播放開發方式184
10.1.4 AVPlayer API的開發步驟184
10.2 圖片開發187
10.2.1 圖片開發的基本概念187
10.2.2 圖片開發的主要流程187
10.2.3 圖片解碼188
10.2.4 圖像變換190
10.2.5 點陣圖操作192
10.2.6 圖片編碼193
10.2.7 圖片工具194
10.3 視頻開發195
10.3.1 視頻開發指導195
10.3.2 視頻開發步驟196
10.4 實戰:實現視頻播放器199
10.4.1 獲取本地視頻199
10.4.2 視頻播放控制203
10.4.3 創建播放器界面206
10.4.4 運行212
10.5 總結213
10.6 習題213
第11章 綜合實戰:購物套用214
11.1 購物套用概述214
11.1.1 購物套用的功能214
11.1.2 購物套用效果展示214
11.2 實戰:實現商品列表頁簽215
11.2.1 創建一個頁面216
11.2.2 創建模型216
11.2.3 創建組件222
11.2.4 載入主界面229
11.3 實戰:實現購物車頁簽229
11.3.1 創建一個頁面229
11.3.2 創建組件230
11.4 實戰:實現我的頁簽232
11.4.1 創建一個頁面232
11.4.2 創建組件233
11.5 實戰:商品詳情頁面235
11.5.1 創建一個頁面235
11.5.2 創建組件236
11.6 總結241
11.7 習題241
第12章 綜合實戰:仿微信套用242
12.1 仿微信套用概述242
12.1.1 “微信”頁面242
12.1.2 “聯繫人”頁面243
12.1.3 “發現”頁面243
12.1.4 “我”頁面244
12.2 實戰:“微信”頁面244
12.2.1 創建“微信”頁面ChatPage244
12.2.2 定義联系人Person245
12.2.3 定義联系人數據246
12.2.4 定義樣式246
12.3 實戰:“聯繫人”頁面248
12.3.1 創建“聯繫人”頁面ContactPage248
12.3.2 定義樣式249
12.4 實戰:“發現”頁面250
12.4.1 創建“發現”頁面DiscoveryPage250
12.4.2 定義樣式251
12.5 實戰:“我”頁面252
12.6 實戰:組裝所有頁面253
12.6.1 Tabs組件作為導航欄253
12.6.2 Swiper組件實現頁面滑動255
12.7 總結255
12.8 習題255

相關詞條

熱門詞條

聯絡我們