本書深入淺出地介紹了鴻蒙應用開發(fā)的基礎知識、核心技術和實戰(zhàn)案例,旨在幫助讀者掌握鴻蒙應用開發(fā)的全流程。全書共7個項目,分別為初探HarmonyOS開發(fā)個性化設置應用、夯實ArkTS語言基礎學生成績管理系統(tǒng)、深入ArkTS高級特性模擬田忌賽馬、參透ArkUI開發(fā)智慧字號字體適老化、把握組件通用信息隨手而動的小球、精通ArkUI組件構建模仿美團App消息列表頁面、融會貫通七彩天氣App開發(fā)之旅。每個項目都配有技能提升模塊,幫助讀者鞏固所學的內容。每個項目還配有AIGC實驗室模塊,幫助讀者提高開發(fā)效率。
本書可以作為高職高專、職業(yè)本科、應用型本科等院校計算機相關專業(yè)鴻蒙應用開發(fā)課程的教材,也可以作為鴻蒙應用開發(fā)培訓班的教材,同時還適合有一定編程基礎的開發(fā)者自學使用。
1.基礎知識與實戰(zhàn)案例結合:本書圍繞鴻蒙開發(fā)的基礎知識點和實戰(zhàn)案例兩個主題穿插進行,包括HarmonyOS系統(tǒng)介紹、開發(fā)環(huán)境搭建、ArkTS基礎語法、常用布局、組件、動畫等基礎知識。最后以一個綜合應用七彩天氣來鞏固前面所學基礎知識,以及學習新的知識:開發(fā)APP必須的國際化、狀態(tài)共享、網(wǎng)絡請求、通知開發(fā)、語音開發(fā)、卡片開發(fā)等各個知識模塊。
2.項目實戰(zhàn):本書的實戰(zhàn)部分包括HarmonyOS項目實戰(zhàn)、應用性能分析與優(yōu)化以及應用打包與發(fā)布等內容,幫助讀者將基礎知識綜合運用,具備獨立開發(fā)上架HarmonyOS商業(yè)應用的能力。
3.系統(tǒng)全面性:本書內容涵蓋鴻蒙應用開發(fā)主要內容,包括開發(fā)準備、基礎知識、原型制作、應用開發(fā)等。
4.易學易用:本書適合有一定編程基礎的讀者,技術內容通俗易懂,循序漸進,并包含豐富的代碼講解和應用實例。
葉奇江,男,講師,碩士,主講《程序設計基礎(Java)》《Java后端框架技術》《Unity設計與開發(fā)》《HarmonyOS鴻蒙開發(fā)》等課程,擔任紹興職業(yè)技術學院信息工程學院計算機應用技術專業(yè)專業(yè)助理,獲課堂教學優(yōu)秀、先進工作者等榮譽。主編校級重點規(guī)劃教材《HarmonyOS鴻蒙應用開發(fā)》,參編浙江省十四五重點教材《Vue.js前端項目開發(fā)實戰(zhàn)》,校級重點規(guī)劃教材《C#程序設計案例教程》。曾在IT上市公司擔任一線軟件開發(fā)工程師10年,任公司移動開發(fā)部經(jīng)理。
目錄
項目1
初探HarmonyOS開發(fā)
個性化設置應用 1
【項目引言】 1
【學習目標】 1
【思維導圖】 1
【學習任務】 2
任務1.1 認識HarmonyOS 2
1.1.1 了解HarmonyOS
發(fā)展史 2
1.1.2 了解HarmonyOS核心
技術理念 3
任務1.2 開啟HarmonyOS開發(fā)
之旅 5
1.2.1 下載并安裝集成開發(fā)
環(huán)境DevEco Studio 5
1.2.2 創(chuàng)建第 一個鴻蒙應用 7
1.2.3 使用模擬器運行工程 9
1.2.4 初窺HarmonyOS
(ArkTS)工程目錄
結構 11
1.2.5 熟悉DevEco Studio的
功能區(qū)域 12
任務1.3 綜合案例:個性化設置
應用 16
【項目小結】 17
【技能提升】 17
【AIGC實驗室】CodeGenie
DeepSeek:雙擎
驅動HarmonyOS
開發(fā)新范式 17
【項目評價】 19
項目2
夯實ArkTS語言基礎
學生成績管理系統(tǒng) 20
【項目引言】 20
【學習目標】 20
【思維導圖】 20
【學習任務】 21
任務2.1 ArkTS開發(fā)入門 21
2.1.1 ArkTS介紹 21
2.1.2 利用DevEco Studio
編寫ArkTS代碼 21
任務2.2 掌握ArkTS基礎語法 22
2.2.1 聲明變量和常量 22
2.2.2 類型 23
2.2.3 運算符 27
2.2.4 控制語句 29
2.2.5 函數(shù) 33
任務2.3 綜合案例:學生成績管理
系統(tǒng) 35
【項目小結】 38
【技能提升】 38
【AIGC實驗室】CodeGenie代碼智能
解讀 38
【項目評價】 39
項目3
深入ArkTS高級特性
模擬田忌賽馬 41
【項目引言】 41
【學習目標】 41
【思維導圖】 41
【學習任務】 42
任務3.1 了解面向對象相關概念 42
3.1.1 封裝 42
3.1.2 繼承 42
3.1.3 多態(tài) 42
任務3.2 類 42
3.2.1 類的結構 43
3.2.2 訪問修飾符 46
3.2.3 繼承機制 47
任務3.3 抽象類和接口 50
3.3.1 抽象類 50
3.3.2 接口 52
任務3.4 特殊操作符 54
3.4.1 可選操作符( ) 54
3.4.2 空值合并操作符( ) 55
3.4.3 空值賦值操作符( =) 55
3.4.4 非空斷言操作符(!) 56
任務3.5 異步執(zhí)行 57
3.5.1 Promise 57
3.5.2 async/await 58
任務3.6 導入和導出模塊 58
3.6.1 使用import和export實現(xiàn)
模塊化 58
3.6.2 重導出 59
任務3.7 綜合案例:模擬田忌
賽馬 60
【項目小結】 62
【技能提升】 62
【AIGC實驗室】CodeGenie代碼自動
生成 63
【項目評價】 65
項目4
參透ArkUI開發(fā)智慧
字號字體適老化 67
【項目引言】 67
【學習目標】 67
【思維導圖】 67
【學習任務】 68
任務4.1 了解ArkUI開發(fā)基本概念 68
4.1.1 ArkUI關鍵特性 68
4.1.2 聲明式開發(fā)范式 69
任務4.2 了解ArkUI不同像素單位 71
4.2.1 影響屏幕顯示的關鍵
因素 71
4.2.2 自適應屏幕的像素單位 72
任務4.3 應用資源的管理和訪問 73
4.3.1 應用資源的管理 73
4.3.2 應用資源的訪問 74
任務4.4 綜合案例:字號字體
適老化 75
【項目小結】 77
【技能提升】 77
【AIGC實驗室】Intents Kit:構建智慧
分發(fā)的基石 77
【項目評價】 78
項目5
把握組件通用信息
隨手而動的小球 79
【項目引言】 79
【學習目標】 79
【思維導圖】 79
【學習任務】 80
任務5.1 掌握組件常見屬性 80
5.1.1 尺寸屬性 80
5.1.2 邊框屬性 86
5.1.3 背景屬性 89
5.1.4 顏色漸變屬性 94
5.1.5 形狀裁剪屬性 98
5.1.6 動態(tài)交互屬性 100
任務5.2 學習組件手勢事件 103
5.2.1 手勢事件原理 103
5.2.2 綁定手勢 103
5.2.3 點擊手勢 105
5.2.4 長按手勢 107
5.2.5 組合手勢 108
任務5.3 綜合案例:隨手而動的
小球 110
【項目小結】 111
【技能提升】 111
【AIGC實驗室】MindSpore Lite Kit:
HarmonyOS的輕量化
AI引擎 112
【項目評價】 113
項目6
精通ArkUI組件構建
模仿美團App消息
列表頁面 115
【項目引言】 115
【學習目標】 115
【思維導圖】 115
【學習任務】 116
任務6.1 利用容器組件巧妙布局 116
6.1.1 線性布局
(Linear Layout) 116
6.1.2 彈性布局
(Flex Layout) 121
6.1.3 層疊布局
(Stack Layout) 125
6.1.4 相對布局
(Relative Layout) 127
6.1.5 網(wǎng)格布局
(Grid Layout) 133
6.1.6 列表布局
(List Layout) 138
任務6.2 學會使用基礎組件 144
6.2.1 文本顯示與輸入組件 144
6.2.2 圖片與視頻組件 155
6.2.3 按鈕與選擇組件 169
任務6.3 綜合案例:模仿美團App
消息列表頁面 177
【項目小結】 180
【技能提升】 181
【AIGC實驗室】Vision Kit:場景化
視覺服務 181
【項目評價】 183
項目7
融會貫通七彩天氣App
開發(fā)之旅 184
【項目引言】 184
【學習目標】 184
【思維導圖】 185
【學習任務】 185
任務7.1 搭建開發(fā)工程 185
7.1.1 快速創(chuàng)建工程 185
7.1.2 工程中模塊的設計 186
7.1.3 七彩天氣應用配置 187
任務7.2 應用開屏頁 191
7.2.1 創(chuàng)建開屏頁 191
7.2.2 了解UIAbility 192
7.2.3 沉浸式用戶體驗 194
7.2.4 倒計時跳轉 194
7.2.5 將文字作為資源使用 197
7.2.6 自定義組件的生命周期 197
任務7.3 應用主頁 199
7.3.1 路由根容器組件:
Navigation 199
7.3.2 搭建七彩天氣App
主頁 201
任務7.4 我的頁面 204
7.4.1 國際化支持i18n 204
7.4.2 關于彈窗 206
7.4.3 登錄攔截 208
任務7.5 登錄頁面 214
7.5.1 登錄頁面UI實現(xiàn) 215
7.5.2 網(wǎng)絡服務 216
7.5.3 完成接口部署 217
7.5.4 對接登錄接口 218
7.5.5 個人頁面數(shù)據(jù)共享 223
任務7.6 個人信息頁面 232
7.6.1 自定義頁面標題組件 232
7.6.2 模態(tài)彈窗完成信息編輯 234
7.6.3 多媒體庫獲取圖片 240
7.6.4 個人信息的獲取與更新 241
任務7.7 天氣詳情頁面 247
7.7.1 實時定位 247
7.7.2 獲取實時天氣 251
7.7.3 語音播報天氣 255
任務7.8 新聞模塊 261
7.8.1 分頁新聞列表 261
7.8.2 Web組件展示詳情 263
【項目小結】 265
【技能提升】 265
【AIGC實驗室】CodeGenie為七彩
天氣App生成服務
卡片 266
【項目評價】 268