基本介紹
內容簡介,作者簡介,圖書目錄,
內容簡介
鴻蒙HarmonyOS是一款自主研發、面向未來物聯網技術的作業系統,雖然與Android作業系統有著相似之處,但其功能與特色也是值得開發者深入探索的。本書的主要目的是幫助不熟悉此系統的開發者循序漸進地掌握HarmonyOS的諸多關鍵特性,從HarmonyOS基礎知識、Java UI框架,到Ability開發、HarmonyOS高級特性開發;從HarmonyOS數據管理、HarmonyOS與媒體、HarmonyOS與智慧型設備,到面向實戰的仿微信程式開發、仿淘寶程式開發等。在本書的最後,還有整體的項目練習。通過對這本書的學習,讀者可以初步掌握HarmonyOS套用開發的方法。
作者簡介
張方興,Java開發工程師,樂於鑽研、總結與分享,《微服務分散式架構基礎與實戰——基於Spring Boot + Spring Cloud》作者,還錄製發布了《Java多執行緒技術實戰》系列課程。
圖書目錄
第1章 HarmonyOS概述 1
1.1 Android系統概述 1
1.2 HarmonyOS、Open Harmony與HMS概述 2
1.3 Harmony理想的分散式世界 3
1.4 HarmonyOS學習前置條件 4
1.5 HarmonyOS環境搭建 4
1.6 HarmonyOS項目管理與目錄介紹 6
1.7 HarmonyOS的Ability概念 8
1.8 HarmonyOS模擬器運行 9
1.9 【實戰】HarmonyOS第一個套用開發 12
1.9.1 實戰目標 12
1.9.2 通過XML顯式編寫第一個頁面 12
1.9.3 通過Java代碼調用第一個頁面 15
1.9.4 通過Java代碼編寫第二個頁面 16
1.9.5 在第一個頁面的按鈕上添加監聽器 17
1.9.6 展示效果 18
1.9.7 項目結構 19
1.10 HarmonyOS調試 19
1.10.1 HiLog日誌輸出 19
1.10.2 Debug 20
1.11 課後習題 21
第2章 Page Ability開發 22
2.1 組件與布局 24
2.2 Page的生命周期 24
2.3 AbilitySlice生命周期 26
2.4 Page與AbilitySlice生命周期關聯 27
2.5 【實戰】AbilitySlice參數的傳遞與回調 27
2.5.1 實戰目標 27
2.5.2 通過XML顯式編寫頁面 28
2.5.3 通過AbilitySlice管理第一個頁面 29
2.5.4 通過AbilitySlice管理第二個頁面 31
2.5.5 展示效果 32
2.5.6 項目結構 33
2.6 【實戰】Intent根據Ability全稱啟動套用頁面 34
2.6.1 實戰目標 34
2.6.2 通過XML顯式編寫頁面 34
2.6.3 編寫Ability容器 35
2.6.4 編寫跳轉代碼 36
2.6.5 展示效果 37
2.6.6 項目結構 38
2.7 課後習題 39
第3章 Service Ability開發 40
3.1 Service的生命周期 40
3.2 【實戰】啟動和停止後台Service 41
3.2.1 實戰目標 41
3.2.2 通過XML顯式編寫頁面 42
3.2.3 編寫Service 43
3.2.4 編寫主頁面AbilitySlice的跳轉功能 45
3.2.5 展示效果 46
3.2.6 項目結構 47
3.3 前台Service 48
3.4 【實戰】啟動和停止前台Service 48
3.4.1 實戰目標 48
3.4.2 修改MyServiceAbility 48
3.4.3 修改Service類型 50
3.4.4 展示效果 51
3.4.5 項目結構 52
3.5 課後習題 53
第4章 Data Ability開發 54
4.1 Data概念 54
4.2 創建Data 54
4.3 資料庫存儲 55
4.4 編寫資料庫操作方法 56
4.5 註冊Data 56
4.6 【實戰】通過Data實現增加與查詢 57
4.6.1 實戰目標 57
4.6.2 通過XML顯式編寫頁面 57
4.6.3 通過Gradle配置檔案引入相關JAR包 58
4.6.4 編寫實體類 60
4.6.5 創建MyDataAbility 61
4.6.6 編寫MainAbilitySlice 69
4.6.7 展示效果 72
4.6.8 項目結構 73
4.7 課後習題 73
第5章 Java UI框架的組件 74
5.1 Java UI組件 74
5.2 Java UI框架的組件概述 74
5.2.1 Component和ComponentContainer 74
5.2.2 LayoutConfig 75
5.2.3 組件樹 75
5.2.4 常見組件 76
5.2.5 組件的公有屬性 77
5.2.6 組件的互動與事件 80
5.3 【實戰】體驗Image放大與縮小 81
5.3.1 實戰目標 81
5.3.2 傳入圖片到項目之中 81
5.3.3 通過XML顯式編寫頁面 82
5.3.4 通過AbilitySlice管理頁面 83
5.3.5 展示效果 83
5.3.6 項目結構 84
5.4 【實戰】體驗使用TabList編寫仿微信頁面 85
5.4.1 實戰目標 85
5.4.2 通過XML顯式編寫頁面 85
5.4.3 通過AbilitySlice管理頁面 86
5.4.4 展示效果 87
5.4.5 項目結構 88
5.5 常見組件的實戰 89
5.5.1 【實戰】體驗PageSlider組件 89
5.5.2 【實戰】體驗ScrollView組件 93
5.5.3 【實戰】體驗CommonDialog組件 96
5.5.4 【實戰】體驗PopupDialog組件 97
5.5.5 【實戰】體驗ToastDialog組件 99
5.5.6 【實戰】體驗ProgressBar組件 101
5.5.7 【實戰】體驗Checkbox組件 103
5.6 課後習題 105
第6章 Java UI的布局 106
6.1 Java UI框架的常用布局 106
6.1.1 DirectionalLayout定向布局 106
6.1.2 DependentLayout依賴布局 114
6.1.3 StackLayout堆疊布局 119
6.1.4 TableLayout表格布局 122
6.1.5 PositionLayout位置布局 131
6.1.6 AdaptiveBoxLayout自適應布局 135
6.2 Java UI框架的自定義組件與自定義布局 141
6.2.1 自定義組件 141
6.2.2 自定義布局 142
6.3 【實戰】HarmonyOS提交表單綜合練習 143
6.3.1 實戰目標 143
6.3.2 編寫頁面 143
6.3.3 編寫實體類 148
6.3.4 編寫MainAbilitySlice 149
6.3.5 展示效果 150
6.3.6 項目結構 151
6.4 課後習題 151
第7章 ArkUI框架的組件 152
7.1 ArkUI框架概述 152
7.1.1 ArkUI框架的目錄結構 152
7.1.2 創建項目 153
7.1.3 ArkUI框架的引用規則 155
7.1.4 ArkUI框架的config.json配置檔案 155
7.2 【實戰】ArkUI框架的第 一個套用開發 156
7.2.1 實戰目標 156
7.2.2 通過HML顯式編寫第 一個頁面 157
7.2.3 通過CSS編寫第 一個頁面的樣式 157
7.2.4 編寫第 一個頁面的JavaScript腳本 159
7.2.5 使用HML顯式編寫第二個頁面、樣式、腳本 160
7.2.6 展示效果 161
7.2.7 項目結構 161
7.3 ArkUI框架組件 162
7.3.1 ArkUI框架組件的分類 162
7.3.2 ArkUI框架組件的公有屬性 163
7.3.3 ArkUI框架組件的渲染屬性 164
7.3.4 ArkUI框架組件的公有樣式 171
7.3.5 ArkUI框架組件的公有事件 177
7.3.6 ArkUI框架獲取組件的方式 181
7.3.7 ArkUI框架組件的公有方法 181
7.4 常見組件的實戰體驗 182
7.4.1 【實戰】體驗text組件 182
7.4.2 【實戰】體驗input組件 183
7.4.3 【實戰】體驗button組件 184
7.4.4 【實戰】體驗list組件 185
7.4.5 【實戰】體驗picker組件 186
7.4.6 【實戰】體驗dialog組件 187
7.4.7 【實戰】體驗stepper組件 189
7.4.8 【實戰】體驗tabs組件 191
7.4.9 【實戰】體驗image組件 192
7.5 課後習題 193
第8章 ArkUI框架的布局 194
8.1 ArkUI框架的常用布局 194
8.1.1 div基礎容器 194
8.1.2 Iist列表容器 200
8.1.3 【實戰】體驗stack堆疊容器 207
8.1.4 tabs頁簽容器 208
8.1.5 swiper滑動容器 210
8.2 【實戰】使用ArkUI框架進行仿微信頁面練習 215
8.2.1 實戰目標 215
8.2.2 使用HML顯式編寫頁面 215
8.2.3 使用CSS編寫頁面樣式 216
8.2.4 使用JavaScript編寫頁面腳本 217
8.2.5 改寫資源檔案 218
8.2.6 展示效果 218
8.2.7 項目結構 218
8.3 ArkUI框架的生命周期 219
8.3.1 頁面的生命周期 219
8.3.2 套用的生命周期 220
8.4 【實戰】體驗ArkUI框架的跨JavaScript調用 221
8.5 課後習題 222