本書系統(tǒng)闡述了HarmonyOS移動應用開發(fā)的核心技術與實踐方法,內(nèi)容涵蓋開發(fā)環(huán)境搭建、應用架構(gòu)設計、關鍵組件實現(xiàn)及工程化開發(fā)流程。全書以理論與實踐結(jié)合的形式,通過豐富的示例代碼,幫助讀者掌握HarmonyOS移動應用開發(fā)的全流程。本書主要介紹HarmonyOS開發(fā)環(huán)境的搭建、HarmonyOS項目的組成、ArkTS基礎、UI設計、頁面路由與組件導航、公共事件與通知、窗口管理與元服務、數(shù)據(jù)存儲技術、網(wǎng)絡通信技術、多媒體開發(fā)與動畫設計等內(nèi)容,并結(jié)合綜合實例——教學系統(tǒng)設計,完整展示從需求分析、系統(tǒng)設計到項目部署與測試的全流程。本書由編者結(jié)合一線教學經(jīng)驗編寫,每章均提供相關代碼實例。本書適合HarmonyOS應用開發(fā)初學者和進階讀者作為自學用書,也適合培訓機構(gòu)作為培訓用書,還適合大、中專院校的相關專業(yè)作為教學參考書。
方欣,湖南理工學院信息學院副教授,主要從事網(wǎng)絡應用程序設計、移動應用開發(fā)等相關研究工作。曾出版《Android Studio應用開發(fā)——基礎入門與應用實戰(zhàn)》(校教學成果獎三等獎)《Android程序設計教程》《Java EE應用與開發(fā)——SSM框架技術》《計算機網(wǎng)絡實訓教程》(優(yōu)秀教材評選獲一等獎,"十二五”國家級規(guī)劃教材)《計算機網(wǎng)絡系統(tǒng)集成》等書。
第1章 HarmonyOS概述
1.1 智能手機概述
1.2 智能手機操作系統(tǒng)
1.3 HarmonyOS簡介
1.3.1 HarmonyOS的發(fā)展
1.3.2 HarmonyOS的特點
1.3.3 HarmonyOS、Android與iOS的對比
1.3.4 HarmonyOS與OpenHarmony的對比
1.4 搭建HarmonyOS開發(fā)環(huán)境
1.4.1 安裝 DevEco Studio
1.4.2 DevEco Studio的基本配置
1.5 開發(fā)第一個HarmonyOS項目
1.6 運行HarmonyOS項目
1.6.1 模擬器運行
1.6.2 真機運行
習題
第2章 HarmonyOS項目
2.1 HarmonyOS項目的組成
2.2 HarmonyOS項目中的幾個重要文件
2.3 擴充FirstDemo項目
2.4 調(diào)試HarmonyOS項目
2.4.1 console.log調(diào)試
2.4.2 斷點調(diào)試
2.5 開發(fā)HarmonyOS項目的大致流程
習題
第3章 ArkTS編程基礎
3.1 ArkTS中常見的數(shù)據(jù)類型
3.2 ArkTS中的聲明
3.3 ArkTS中的運算符
3.4 ArkTS中的語句
3.5 ArkTS中的函數(shù)
3.6 ArkTS中的類
3.7 ArkTS中的接口
3.8 ArkTS中的空安全
3.9 ArkTS中的模塊
3.10 ArkTS中的泛型
習題
第4章 ArkUI設計
4.1 ArkUI概述
4.2 ArkUI中的布局
4.2.1 線性布局
4.2.2 層疊布局
4.2.3 彈性布局
4.2.4 相對布局
4.2.5 柵格布局
4.2.6 輪播、列表與表格
4.3 ArkUI中常見的UI組件
4.3.1 文本顯示組件
4.3.2 TextInput組件
4.3.3 Button組件
4.3.4 切換按鈕組件
4.3.5 選項選擇組件
4.3.6 Image組件
4.4 ArkUI中的狀態(tài)管理
4.4.1 ArkUI中的狀態(tài)管理概述
4.4.2 ArkUI中的裝飾器
4.4.3 LocalStorage與AppStorage介紹
4.5 實戰(zhàn):使用ArkUI實現(xiàn)教學系統(tǒng)主要界面
習題
第5章 頁面路由與組件導航
5.1 頁面路由與組件導航概述
5.2 頁面和自定義組件生命周期
5.3 頁面路由
5.3.1 用Ability下的頁面跳轉(zhuǎn)與返回
5.3.2 不同Ability之間的頁面跳轉(zhuǎn)
5.3.3 頁面跳轉(zhuǎn)時的詢問框
5.3.4 頁面跳轉(zhuǎn)時的數(shù)據(jù)傳遞
5.4 組件導航
5.5 Tabs組件
5.5.1 Tabs組件概述
5.5.2 Tabs組件布局的詳細介紹
5.6 Ability中的頁面跳轉(zhuǎn)和數(shù)據(jù)傳遞
習題
第6章 公共事件與通知
6.1 公共事件概述
6.1.1 公共事件的分類
6.1.2 公共事件的開發(fā)
6.2 通知概述
6.2.1 通知的分類
6.2.2 通知的開發(fā)
6.3 實戰(zhàn):公共事件與通知的開發(fā)
習題
第7章 窗口管理與元服務
7.1 窗口概述
7.2 窗口管理
7.2.1 窗口管理概述
7.2.2 設置應用主窗口的屬性及目標頁面
7.2.3 設置應用子窗口的屬性及目標頁面
7.2.4 體驗窗口沉浸式能力
7.3 服務卡片
7.3.1 創(chuàng)建卡片
7.3.2 卡片的開發(fā)
7.4 元服務
7.4.1 元服務概述
7.4.2 元服務的開發(fā)
7.5 實戰(zhàn):實現(xiàn)窗口沉浸式效果
習題
第8章 數(shù)據(jù)存儲技術
8.1 數(shù)據(jù)存儲技術基礎
8.2 應用文件
8.2.1 應用文件概述
8.2.2 應用沙箱目錄
8.2.3 應用文件分享
8.3 使用文件存儲數(shù)據(jù)
8.3.1 文件的讀取
8.3.2 文件的寫入
8.4 使用關系數(shù)據(jù)庫存儲數(shù)據(jù)
8.4.1 創(chuàng)建數(shù)據(jù)庫及表
8.4.2 操作數(shù)據(jù)庫
8.4.3 查詢數(shù)據(jù)
8.5 使用分布式數(shù)據(jù)服務
8.5.1 分布式數(shù)據(jù)庫介紹
8.5.2 分布式數(shù)據(jù)對象跨設備數(shù)據(jù)同步
8.6 使用用戶首選項實現(xiàn)數(shù)據(jù)持久化
8.6.1 使用用戶首選項實現(xiàn)數(shù)據(jù)持久化介紹
8.6.2 使用用戶首選項實現(xiàn)數(shù)據(jù)持久化操作
8.7 實戰(zhàn):使用數(shù)據(jù)庫存儲數(shù)據(jù)
習題
第9章 網(wǎng)絡通信技術
9.1 網(wǎng)絡通信技術基礎
9.2 HarmonyOS中的WebView組件
9.3 利用HTTP接口開發(fā)HTTP程序
9.3.1 HTTP接口基礎
9.3.2 HTTP接口使用示例
9.4 利用WebSocket開發(fā)HTTP程序
9.4.1 WebSocket基礎
9.4.2 WebSocket使用示例
9.5 利用Axios開發(fā)HTTP程序
9.5.1 Axios基礎
9.5.2 Axios使用示例
9.6 實戰(zhàn):網(wǎng)絡應用開發(fā)
習題
第10章 多媒體開發(fā)與動畫設計
10.1 多媒體子系統(tǒng)概述
10.2 音頻播放服務
10.2.1 音頻播放服務開發(fā)基礎
10.2.2 使用AVPlayer播放音頻
10.2.3 使用AudioRenderer播放音頻
10.3 視頻播放與錄制服務
10.3.1 視頻播放服務開發(fā)基礎
10.3.2 使用AVPlayer播放視頻
10.3.3 XComponent組件
10.3.4 使用Video組件播放視頻
10.3.5 使用AVRecorder錄制視頻
10.4 相機服務
10.4.1 相機服務開發(fā)基礎
10.4.2 使用相機的預覽功能
10.4.3 使用系統(tǒng)相機的拍照和錄像功能
10.5 圖片服務
10.6 媒體文件管理服務
10.7 動畫設計
10.7.1 動畫概述
10.7.2 屬性動畫
10.7.3 轉(zhuǎn)場動畫
10.7.4 粒子動畫
10.7.5 動畫銜接
10.7.6 動畫曲線
10.7.7 高階動畫
10.7.8 幀動畫
10.8 實戰(zhàn):多媒體開發(fā)與動畫設計
習題
第11章 教學系統(tǒng)設計
11.1 需求分析
11.2 系統(tǒng)設計
11.2.1 數(shù)據(jù)庫的設計與實現(xiàn)
11.2.2 服務端的設計與實現(xiàn)
11.2.3 HarmonyOS客戶端的設計與實現(xiàn)
11.3 項目部署與測試