鴻蒙操作系統(tǒng)是一款面向全場(chǎng)景的國(guó)產(chǎn)分布式操作系統(tǒng),本書以鴻蒙操作系統(tǒng)為基礎(chǔ),解析了鴻蒙操作系統(tǒng)架構(gòu),介紹了鴻蒙操作系統(tǒng)開發(fā)與設(shè)計(jì)及鴻蒙應(yīng)用程序開發(fā)基礎(chǔ)。然后分析了鴻蒙技術(shù)開發(fā)的核心編程語言ArkTS、UI界面設(shè)計(jì)、應(yīng)用程序框架服務(wù)、數(shù)據(jù)管理、IPC與RPC。最后使用鴻蒙技術(shù)設(shè)計(jì)了移動(dòng)車載App。本書結(jié)合編著者多年的科研和教學(xué)實(shí)踐,基于官方文檔,融合工程項(xiàng)目,循序漸進(jìn)地講解鴻蒙應(yīng)用程序開發(fā)的技術(shù)學(xué)習(xí)路線,既可作為高等院校相關(guān)專業(yè)的教材,也可作為鴻蒙應(yīng)用程序開發(fā)人員的參考用書。本書還提供了豐富的教學(xué)資源,配備教學(xué)課件和重要知識(shí)點(diǎn)的教學(xué)視頻,供讀者觀看學(xué)習(xí)。
教授,大連民族大學(xué)信息與通信工程學(xué)院院長(zhǎng),遼寧省本科教學(xué)名師,遼寧省百千萬人才工程千人層次,信息與通信工程學(xué)院院長(zhǎng)。研究方向?yàn)樾乱淮娮有畔⒓夹g(shù),發(fā)表學(xué)術(shù)論文50余篇,被SCI或EI索引10余篇,出版專著1部,授權(quán)發(fā)明專利1項(xiàng)。承擔(dān)省級(jí)以上科研項(xiàng)目5項(xiàng),其中國(guó)家自然科學(xué)基金項(xiàng)目2項(xiàng)。
目 錄
第1章 鴻蒙操作系統(tǒng)概述 1
1.1 鴻蒙操作系統(tǒng)的起源與發(fā)展 1
1.1.1 鴻蒙操作系統(tǒng)的研發(fā)背景與初衷 1
1.1.2 鴻蒙操作系統(tǒng)的技術(shù)特點(diǎn)與創(chuàng)新 2
1.2 鴻蒙操作系統(tǒng)的應(yīng)用場(chǎng)景 3
1.2.1 在個(gè)人生活領(lǐng)域的應(yīng)用場(chǎng)景 4
1.2.2 在產(chǎn)業(yè)與行業(yè)領(lǐng)域的應(yīng)用場(chǎng)景 4
第2章 鴻蒙操作系統(tǒng)架構(gòu)解析 6
2.1 鴻蒙操作系統(tǒng)的整體架構(gòu) 6
2.1.1 內(nèi)核層 6
2.1.2 系統(tǒng)服務(wù)層 7
2.1.3 框架層 8
2.1.4 應(yīng)用層 9
2.2 鴻蒙操作系統(tǒng)的分布式能力 9
2.2.1 設(shè)備虛擬化 9
2.2.2 分布式調(diào)度 10
2.2.3 分布式數(shù)據(jù)管理 11
2.2.4 分布式硬件資源 11
2.2.5 分布式安全 12
2.2.6 分布式軟總線 13
第3章 鴻蒙應(yīng)用程序開發(fā)與設(shè)計(jì) 15
3.1 開發(fā)環(huán)境搭建 15
3.1.1 華為開發(fā)者認(rèn)證 15
3.1.2 下載和安裝Node.js 19
3.1.3 下載和安裝DevEco Studio 20
3.2 創(chuàng)建鴻蒙應(yīng)用程序 25
第4章 鴻蒙應(yīng)用程序開發(fā)基礎(chǔ) 34
4.1 程序中的文件包 34
4.1.1 使用場(chǎng)景和設(shè)計(jì)意義 34
4.1.2 應(yīng)用包HAP的使用 36
4.1.3 靜態(tài)共享包HAR的使用 41
4.1.4 動(dòng)態(tài)共享包HSP的使用 43
4.1.5 模塊化單位Module 47
4.1.6 基礎(chǔ)能力單元Ability 49
4.2 DevEco Studio及工程文件 50
4.2.1 DevEco Studio的界面 51
4.2.2 ArkTS工程目錄結(jié)構(gòu)(Stage模型) 52
4.2.3 JS工程目錄結(jié)構(gòu)(FA模型) 56
第5章 ArkTS 59
5.1 ArkTS基礎(chǔ)知識(shí) 59
5.1.1 ArkTS簡(jiǎn)介 59
5.1.2 ArkTS基礎(chǔ)語法 60
5.1.3 函數(shù) 78
5.1.4 類 85
5.1.5 接口 92
5.1.6 泛型類型和函數(shù) 93
5.1.7 空安全 96
5.1.8 模塊 97
5.1.9 關(guān)鍵字this 100
5.2 ArkTS編程規(guī)范 101
5.2.1 命名 101
5.2.2 格式 103
5.2.3 編程實(shí)踐規(guī)范 107
第6章 UI界面設(shè)計(jì) 110
6.1 ArkUI概述 110
6.1.1 ArkUI簡(jiǎn)介 111
6.1.2 ArkUI中的開發(fā)規(guī)范 111
6.1.3 應(yīng)用模型的支持情況 112
6.1.4 ArkUI的整體架構(gòu) 113
6.1.5 UI開發(fā)流程 114
6.2 UI布局概述 114
6.2.1 布局元素與布局結(jié)構(gòu) 115
6.2.2 常見布局結(jié)構(gòu) 116
6.2.3 布局位置與元素約束 116
6.3 UI基本語法 117
6.4 聲明式UI描述 118
6.4.1 組件的創(chuàng)建 118
6.4.2 配置屬性 119
6.4.3 配置事件 119
6.4.4 配置子組件 120
6.5 自定義組件 121
6.5.1 自定義組件的基本結(jié)構(gòu) 121
6.5.2 成員變量和函數(shù) 122
6.5.3 自定義組件中的參數(shù) 122
6.5.4 build函數(shù) 123
6.5.5 自定義組件的通用樣式 125
6.5.6 頁面和自定義組件的生命周期 125
6.5.7 監(jiān)聽頁面的生命周期 128
6.5.8 自定義組件的自定義布局 129
6.6 裝飾器 131
6.6.1 @State裝飾器 131
6.6.2 @Link裝飾器 132
6.6.3 @Prop裝飾器 132
6.6.4 @Provide和@Consume裝飾器 132
6.6.5 @Builder與@BuilderParam裝飾器 132
6.6.6 @LocalBuilder裝飾器 133
6.6.7 @WrapBuilder裝飾器 134
6.6.8 @Styles裝飾器 135
6.6.9 @Extend裝飾器 135
6.6.10 stateStyles多態(tài)樣式 135
6.6.11 @AnimatableExtend裝飾器 136
6.6.12 @Require裝飾器 137
6.7 狀態(tài)管理 137
6.7.1 狀態(tài)管理V1 138
6.7.2 狀態(tài)管理V2 140
6.8 構(gòu)建布局 142
6.8.1 線性布局 142
6.8.2 層疊布局 151
6.8.3 彈性布局 153
6.8.4 相對(duì)布局 156
6.8.5 柵格布局 159
6.8.6 媒體查詢 163
6.8.7 列表 165
6.8.8 網(wǎng)格 180
6.8.9 選項(xiàng)卡 185
6.9 常用組件 192
6.9.1 文本組件 192
6.9.2 單選框和多選框 197
6.9.3 按鈕 198
6.9.4 進(jìn)度條 200
6.9.5 圖片 201
6.9.6 視頻 204
第7章 應(yīng)用程序框架服務(wù) 206
7.1 Ability Kit 206
7.2 應(yīng)用模型概況 208
7.3 Stage模型開發(fā) 210
7.3.1 Stage模型應(yīng)用組件 211
7.3.2 UIAbility組件 213
7.3.3 UIAbility組件的啟動(dòng) 219
7.3.4 ExtensionAbility組件 225
7.3.5 AbilityStage組件容器 226
7.3.6 應(yīng)用上下文 228
7.3.7 Want 229
第8章 數(shù)據(jù)管理 231
8.1 ArkData簡(jiǎn)介 231
8.2 標(biāo)準(zhǔn)化數(shù)據(jù) 233
8.2.1 標(biāo)準(zhǔn)化數(shù)據(jù)定義 233
8.2.2 標(biāo)準(zhǔn)化數(shù)據(jù)類型 233
8.2.3 標(biāo)準(zhǔn)化數(shù)據(jù)結(jié)構(gòu) 235
8.3 應(yīng)用數(shù)據(jù)持久化 236
8.3.1 用戶首選項(xiàng)實(shí)現(xiàn)數(shù)據(jù)持久化 236
8.3.2 鍵值型數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)持久化 236
8.3.3 關(guān)系型數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)持久化 237
8.4 同應(yīng)用跨設(shè)備數(shù)據(jù)同步(分布式) 237
8.4.1 鍵值型數(shù)據(jù)庫跨設(shè)備數(shù)據(jù)同步 238
8.4.2 關(guān)系型數(shù)據(jù)庫跨設(shè)備數(shù)據(jù)同步 240
第9章 IPC與RPC 242
9.1 IPC與RPC簡(jiǎn)介 242
9.2 IPC與RPC通信開發(fā) 243
9.3 遠(yuǎn)端狀態(tài)訂閱開發(fā) 243
9.4 IPC通信開發(fā) 243
第10章 項(xiàng)目示例——移動(dòng)車載App設(shè)計(jì) 245
10.1 設(shè)計(jì)概述 245
10.2 整體UI規(guī)劃 246
10.3 旅游攻略模塊 246
10.4 地圖導(dǎo)航模塊 247
10.5 天氣查詢模塊 248
10.6 車載音樂模塊 249
10.7 總結(jié) 250