鴻蒙HarmonyOS應(yīng)用開發(fā)基礎(chǔ)教程 課件 單元3-HarmonyOS開發(fā)基礎(chǔ)知識_第1頁
鴻蒙HarmonyOS應(yīng)用開發(fā)基礎(chǔ)教程 課件 單元3-HarmonyOS開發(fā)基礎(chǔ)知識_第2頁
鴻蒙HarmonyOS應(yīng)用開發(fā)基礎(chǔ)教程 課件 單元3-HarmonyOS開發(fā)基礎(chǔ)知識_第3頁
鴻蒙HarmonyOS應(yīng)用開發(fā)基礎(chǔ)教程 課件 單元3-HarmonyOS開發(fā)基礎(chǔ)知識_第4頁
鴻蒙HarmonyOS應(yīng)用開發(fā)基礎(chǔ)教程 課件 單元3-HarmonyOS開發(fā)基礎(chǔ)知識_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

《鴻蒙HarmonyOS應(yīng)用開發(fā)基礎(chǔ)教程》HarmonyOS開發(fā)基礎(chǔ)知識《鴻蒙HarmonyOS應(yīng)用開發(fā)基礎(chǔ)教程》鴻蒙應(yīng)用開發(fā)之--ArkTS簡介目錄12ArkTS的起源什么是ArkTS?3ArkTS的演進(jìn)什么是ArkTS?01ArkTS簡介ArkTS是HarmonyOS優(yōu)選的主力應(yīng)用開發(fā)語言。ArkTS圍繞應(yīng)用開發(fā)在TypeScript(簡稱TS)生態(tài)基礎(chǔ)上做了進(jìn)一步擴(kuò)展,繼承了TS的所有特性,是TS的超集。網(wǎng)址:/consumer/cn/arktsArkTS的起源02ArkTS的起源JavaScript(JS)Mozilla創(chuàng)造了JSTypeScript(TS)Microsoft創(chuàng)建了TSArkTSHuawei進(jìn)一步推出了ArkTSArkTS的演進(jìn)03ArkTS的演進(jìn)2019.82022.112020.92023.1鴻蒙操作系統(tǒng)正式發(fā)布鴻蒙系統(tǒng)升級至HarmonyOS2.0ArkTS正式發(fā)布?ArkTS得到廣泛應(yīng)用總結(jié)ArkTS是HarmonyOS的應(yīng)用開發(fā)語言。ArkTS、TypeScript和JavaScript三者之間的關(guān)系。以教材學(xué)習(xí)為主,官網(wǎng)學(xué)習(xí)資料為輔,進(jìn)一步深入學(xué)習(xí)ArkTS。認(rèn)真學(xué)鴻蒙一起干大事《鴻蒙HarmonyOS應(yīng)用開發(fā)基礎(chǔ)教程》鴻蒙應(yīng)用開發(fā)之—ArkTS基礎(chǔ)語法目錄123裝飾器自定義組件引言4UI描述引言01引言編碼規(guī)范ArkTS遵循一定的編碼規(guī)范,包括命名規(guī)范、縮進(jìn)規(guī)范、注釋規(guī)范等,以確保代碼的整潔和一致性。語法風(fēng)格ArkTS在保持TypeScript基本語法風(fēng)格的基礎(chǔ)上,引入了一些特定的規(guī)則和約束。靜態(tài)類型與TypeScript的動(dòng)態(tài)類型不同,ArkTS對類型施加了更嚴(yán)格的約束,引入了靜態(tài)類型,提高了代碼的可讀性和可維護(hù)性。引言裝飾器02裝飾器010203裝飾器是一種特殊類型的聲明。它用于裝飾類、結(jié)構(gòu)、方法以及變量,并賦予其特殊的含義。裝飾器語法是將@符號置于函數(shù)定義之前。裝飾器的基本概念裝飾器常用的裝飾器@Entry@Entry裝飾的自定義組件將作為UI頁面的入口。@Component@Component裝飾器僅能裝飾struct關(guān)鍵字聲明的數(shù)據(jù)結(jié)構(gòu)。@State@State裝飾的變量,或稱為狀態(tài)變量,一旦變量擁有了狀態(tài)屬性,就和自定義組件的渲染綁定起來。當(dāng)狀態(tài)改變時(shí),UI會(huì)發(fā)生對應(yīng)的渲染改變。自定義組件03自定義組件概念自定義組件是一種允許開發(fā)者根據(jù)業(yè)務(wù)需求,封裝特定功能和UI界面的可復(fù)用代碼塊。優(yōu)勢提高代碼復(fù)用性,降低開發(fā)成本;簡化復(fù)雜頁面的開發(fā)過程;便于團(tuán)隊(duì)協(xié)作和維護(hù)。0102自定義組件可組合允許開發(fā)者組合使用系統(tǒng)組件、及其屬性和方法??芍赜米远x組件可以被其他組件重用,并作為不同的實(shí)例在不同的父組件或容器中使用。數(shù)據(jù)驅(qū)動(dòng)UI更新通過狀態(tài)變量的改變,來驅(qū)動(dòng)UI的刷新。UI描述04UI描述定義UI描述語言是一種用于描述用戶界面元素、布局和交互的標(biāo)記語言。特點(diǎn)易于理解、學(xué)習(xí)和使用,支持多種平臺和設(shè)備,具有高度可定制性。應(yīng)用場景適用于快速構(gòu)建跨平臺的應(yīng)用程序界面,提高開發(fā)效率和用戶體驗(yàn)。030201總結(jié)ArkTS的基本語法、裝飾器的概念、自定義組件以及UI描述的概念。掌握主要裝飾器的用法、自定義組件和系統(tǒng)組件的區(qū)別,了解UI描述的應(yīng)用場景。隨著HarmonyOS的發(fā)展,ArkTS的生態(tài)也將逐漸豐富起來,包括更多的庫、框架和工具鏈支持,保持持續(xù)學(xué)習(xí)的能力,推動(dòng)ArkTS的普及和發(fā)展。認(rèn)真學(xué)鴻蒙一起干大事《鴻蒙HarmonyOS應(yīng)用開發(fā)基礎(chǔ)教程》ArkTS—狀態(tài)管理目錄12狀態(tài)管理的應(yīng)用場景狀態(tài)管理的概念狀態(tài)管理的概念01狀態(tài)管理的概念狀態(tài)管理是指在應(yīng)用程序中處理和管理數(shù)據(jù)的過程。它允許應(yīng)用程序跟蹤和控制數(shù)據(jù)的變化,并將這些變化同步到頁面上,使頁面和數(shù)據(jù)保持一致。運(yùn)行時(shí)的狀態(tài)變化所帶來的UI重新渲染,在ArkUI中統(tǒng)稱為狀態(tài)管理機(jī)制。狀態(tài)管理旨在提供一種機(jī)制,使得應(yīng)用能夠在用戶交互、數(shù)據(jù)更新等情況下,維護(hù)狀態(tài)的正確性和一致性。在ArkTS中,狀態(tài)管理是通過裝飾器來實(shí)現(xiàn)的。狀態(tài)管理的概念在右邊的示例中,用戶與應(yīng)用程序的交互觸發(fā)了文本狀態(tài)變更,狀態(tài)變更引起了UI渲染,UI從“HelloWorld“變更為“HelloArkUI“。狀態(tài)管理的概念應(yīng)用級別的狀態(tài)管理組件級別的狀態(tài)管理狀態(tài)管理的應(yīng)用場景02狀態(tài)管理的應(yīng)用場景在此之前,我們構(gòu)建的頁面多為靜態(tài)界面。如果希望構(gòu)建一個(gè)動(dòng)態(tài)的、有交互的界面,就需要用到狀態(tài)管理。狀態(tài)管理的應(yīng)用場景游戲開發(fā)中的狀態(tài)管理游戲進(jìn)程控制通過狀態(tài)管理,游戲開發(fā)者可以方便地控制游戲的整體進(jìn)程,如關(guān)卡狀態(tài)、任務(wù)狀態(tài)等,從而實(shí)現(xiàn)游戲的流程控制和劇情發(fā)展。多人游戲同步在多人在線游戲中,狀態(tài)管理對于保持所有玩家之間的狀態(tài)同步至關(guān)重要,確保每個(gè)玩家看到的游戲世界是一致的。角色狀態(tài)管理在游戲中,每個(gè)角色或?qū)嶓w都有多種狀態(tài),如生命值、魔法值、速度、位置等。狀態(tài)管理可以確保這些狀態(tài)的實(shí)時(shí)更新與同步,為游戲邏輯提供準(zhǔn)確的數(shù)據(jù)支持。030201狀態(tài)管理的應(yīng)用場景復(fù)雜業(yè)務(wù)流程的狀態(tài)跟蹤流程控制與優(yōu)化在復(fù)雜的業(yè)務(wù)流程中,狀態(tài)管理可以實(shí)時(shí)跟蹤各個(gè)環(huán)節(jié)的執(zhí)行狀態(tài),幫助管理者了解整個(gè)流程的進(jìn)展情況,及時(shí)發(fā)現(xiàn)并解決問題,實(shí)現(xiàn)流程的優(yōu)化。數(shù)據(jù)整合與分析通過狀態(tài)管理收集到的業(yè)務(wù)流程數(shù)據(jù),企業(yè)可以進(jìn)行深入的數(shù)據(jù)分析,挖掘潛在的業(yè)務(wù)價(jià)值,為決策提供有力支持。協(xié)同與溝通狀態(tài)管理可以提供一個(gè)共享的、實(shí)時(shí)的信息平臺,促進(jìn)團(tuán)隊(duì)成員之間的協(xié)同與溝通,確保業(yè)務(wù)流程的順利進(jìn)行。狀態(tài)管理的優(yōu)勢ArkTS狀態(tài)管理能夠快速響應(yīng)狀態(tài)變化,確保數(shù)據(jù)的實(shí)時(shí)性,滿足對實(shí)時(shí)性要求高的應(yīng)用場景??焖夙憫?yīng)通過狀態(tài)管理,可以避免不必要的重復(fù)計(jì)算和數(shù)據(jù)處理,提高系統(tǒng)的整體運(yùn)行效率。減少冗余計(jì)算ArkTS狀態(tài)管理通過合理的狀態(tài)更新和同步機(jī)制,有效降低了系統(tǒng)負(fù)載,從而優(yōu)化了整體性能。優(yōu)化性能總結(jié)狀態(tài)管理的概念。理解狀態(tài)管理的概念并在合適的應(yīng)用場景下去使用。狀態(tài)管理的優(yōu)勢在于:提升系統(tǒng)可靠性、優(yōu)化資源利用以及降低運(yùn)維成本。認(rèn)真學(xué)鴻蒙一起干大事《鴻蒙HarmonyOS應(yīng)用開發(fā)基礎(chǔ)教程》ArkTS—渲染控制目錄12條件渲染渲染控制的概念3循環(huán)渲染渲染控制的概念01渲染控制的概念A(yù)rkUI通過自定義組件的build()函數(shù)和@builder裝飾器中的聲明式UI描述語句構(gòu)建相應(yīng)的UI。在聲明式描述語句中開發(fā)者除了使用系統(tǒng)組件外,還可以使用渲染控制語句來輔助UI的構(gòu)建,這些渲染控制語句包括控制組件是否顯示的條件渲染語句,基于數(shù)組數(shù)據(jù)快速生成組件的循環(huán)渲染語句等。條件渲染02條件渲染定義條件渲染是指在特定的條件下,動(dòng)態(tài)地決定是否渲染某個(gè)組件或元素。特點(diǎn)只有當(dāng)滿足特定條件時(shí),才進(jìn)行渲染操作。這有助于減少不必要的渲染,提高應(yīng)用性能。使用規(guī)則支持if、else和elseif語句。030201條件渲染if(this.temperature<0){Text('氣溫太低,結(jié)冰了!')

.fontColor(Color.Red).fontSize(25)}truefalse應(yīng)用場景用戶權(quán)限控制根據(jù)用戶的權(quán)限級別,動(dòng)態(tài)顯示或隱藏某些功能組件。例如,只有管理員才能看到的設(shè)置按鈕或菜單項(xiàng)。在展示數(shù)據(jù)時(shí),根據(jù)數(shù)據(jù)的不同類型或狀態(tài)來動(dòng)態(tài)切換顯示的組件。例如,在展示用戶信息時(shí),根據(jù)用戶的性別來顯示不同的頭像或背景色。在異步請求數(shù)據(jù)或執(zhí)行耗時(shí)操作時(shí),可以使用條件渲染來顯示加載指示器或占位符,以提高用戶體驗(yàn)。根據(jù)設(shè)備的屏幕尺寸或分辨率來動(dòng)態(tài)調(diào)整布局和組件的顯示方式。例如,在小屏幕上隱藏某些非核心功能或調(diào)整組件的布局方式。數(shù)據(jù)展示切換加載狀態(tài)提示響應(yīng)式設(shè)計(jì)01020304循環(huán)渲染03循環(huán)渲染定義循環(huán)渲染是指在UI開發(fā)中,通過循環(huán)遍歷數(shù)據(jù)集合,動(dòng)態(tài)生成并渲染多個(gè)相同類型的UI組件。實(shí)現(xiàn)步驟定義好需要循環(huán)渲染的UI組件模板;在模板中使用循環(huán)語句遍歷數(shù)據(jù)集合;將數(shù)據(jù)綁定到UI組件上,實(shí)現(xiàn)動(dòng)態(tài)渲染。支持接口支持ForEach、LazyForEach和Repeat接口。030201循環(huán)渲染ForEach(arr:Array,itemGenerator:(item:Object,index:number)=>void,keyGenerator?:(item:Object,index:number)=>string)arr:數(shù)據(jù)源,為Array類型的數(shù)組。itemGenerator:組件生成函數(shù)。keyGenerator:鍵值生成函數(shù)。應(yīng)用場景動(dòng)態(tài)表單在表單填寫等場景中,需要根據(jù)用戶選擇動(dòng)態(tài)生成表單項(xiàng)。通過循環(huán)渲染結(jié)合條件渲染,可以實(shí)現(xiàn)復(fù)雜的動(dòng)態(tài)表單功能。列表渲染在電商、新聞等應(yīng)用中,經(jīng)常需要展示大量的列表數(shù)據(jù)。通過循環(huán)渲染,可以動(dòng)態(tài)生成列表項(xiàng),提高開發(fā)效率和性能??ㄆ讲季衷谏缃?、資訊等應(yīng)用中,常常采用卡片式布局展示內(nèi)容。利用循環(huán)渲染,可以輕松實(shí)現(xiàn)多個(gè)卡片的動(dòng)態(tài)生成和布局??偨Y(jié)ArkTS的渲染控制:條件渲染、循環(huán)渲染。學(xué)會(huì)條件渲染的用法,渲染對應(yīng)狀態(tài)下的UI內(nèi)容,掌握循環(huán)渲染中ForEach接口的調(diào)用方法。合理運(yùn)用ArkTS的渲染控制,減少不必要的渲染,提高開發(fā)效率和性能。認(rèn)真學(xué)鴻蒙一起干大事《鴻蒙HarmonyOS應(yīng)用開發(fā)基礎(chǔ)教程》鴻蒙應(yīng)用開發(fā)之—ArkUI概念目錄12兩種開發(fā)范式ArkUI的概念A(yù)rkUI的概念01ArkUI的概念010203ArkUI(方舟開發(fā)框架)是HarmonyOS提供的一種全新UI開發(fā)框架。它支持使用JS/TS語言進(jìn)行UI界面開發(fā),并提供了豐富的UI組件和動(dòng)畫效果。ArkUI還具備數(shù)據(jù)綁定、事件處理、狀態(tài)管理等核心功能,幫助開發(fā)者高效構(gòu)建用戶界面。ArkUI的概念A(yù)rkUI支持跨平臺開發(fā),一套代碼可以同時(shí)運(yùn)行在多種設(shè)備上,降低了開發(fā)成本。ArkUI提供了豐富的主題和樣式系統(tǒng),可以輕松實(shí)現(xiàn)界面風(fēng)格的自定義。ArkUI采用了聲明式編程模型,相較于傳統(tǒng)UI框架的命令式編程,更加直觀和易于維護(hù)。ArkUI的概念010203ArkUI倡導(dǎo)簡潔高效的設(shè)計(jì)理念,通過減少冗余代碼和簡化開發(fā)流程來提高開發(fā)效率。提供了豐富的組件和API,幫助開發(fā)者快速構(gòu)建出美觀且功能強(qiáng)大的用戶界面。ArkUI還支持組件化開發(fā),便于代碼的復(fù)用和維護(hù),進(jìn)一步提高了開發(fā)效率。兩種開發(fā)范式02兩種開發(fā)范式聲明式開發(fā)范式基于ArkTS的聲明式開發(fā)范式,采用基于TypeScript聲明式UI語法擴(kuò)展而來的ArkTS語言,從組件、動(dòng)畫和狀態(tài)管理三個(gè)維度提供UI繪制能力。01兩種開發(fā)范式類Web開發(fā)范式采用經(jīng)典的HTML、CSS、JavaScript三段式開發(fā)方式。該范式更符合于Web前端開發(fā)者的使用習(xí)慣,便于快速將已有的Web應(yīng)用改造成方舟UI框架應(yīng)用。02兩種開發(fā)范式總結(jié)ArkUI框架的基本概念和兩種開發(fā)范式。了解方舟UI框架,熟悉兩種開發(fā)范式。隨著HarmonyOS的不斷發(fā)展,ArkUI將進(jìn)一步強(qiáng)化跨設(shè)備統(tǒng)一體驗(yàn),定期訪問HarmonyOS官方網(wǎng)站,獲取最新技術(shù)資訊和開發(fā)文檔。也期待ArkUI能夠融合更多創(chuàng)新技術(shù),如AI、VR等,為開發(fā)者提供更豐富、更前言的開發(fā)工具和平臺,推動(dòng)應(yīng)用創(chuàng)新。認(rèn)真學(xué)鴻蒙一起干大事《鴻蒙HarmonyOS應(yīng)用開發(fā)基礎(chǔ)教程》鴻蒙應(yīng)用開發(fā)之—調(diào)試技術(shù)目錄12斷點(diǎn)調(diào)試引言3日志調(diào)試引言01引言通過調(diào)試可以發(fā)現(xiàn)并修復(fù)軟件中的錯(cuò)誤和缺陷,從而提高軟件的穩(wěn)定性和可靠性。提高軟件質(zhì)量減少軟件運(yùn)行中的錯(cuò)誤和崩潰,使用戶能夠更順暢地使用。提升用戶體驗(yàn)調(diào)試是軟件開發(fā)過程中不可或缺的一環(huán),它有助于開發(fā)人員理解代碼的執(zhí)行流程和性能瓶頸。輔助開發(fā)過程斷點(diǎn)調(diào)試02斷點(diǎn)調(diào)試在所要調(diào)試代碼的最前面單擊一下即可,再次單擊即可取消斷點(diǎn)設(shè)置。設(shè)置斷點(diǎn)單擊調(diào)試按鈕啟動(dòng)調(diào)試。啟動(dòng)調(diào)試0102斷點(diǎn)調(diào)試圖標(biāo)含義ResumeProgram當(dāng)程序執(zhí)行到斷點(diǎn)時(shí)停止執(zhí)行,單擊此按鈕程序繼續(xù)執(zhí)行。StepOver在單步調(diào)試時(shí),直接前進(jìn)到下一行。StepInto在單步調(diào)試時(shí),遇到子函數(shù)后,進(jìn)入子函數(shù)并繼續(xù)單步執(zhí)行。ForceStepInto在單步調(diào)試時(shí),強(qiáng)制進(jìn)入方法。StepOut在單步調(diào)試執(zhí)行到子函數(shù)內(nèi)時(shí),單擊StepOut會(huì)執(zhí)行完子函數(shù)剩余部分,并跳出返回到上一層函數(shù)。Stop停止調(diào)試任務(wù)。RunToCursor斷點(diǎn)執(zhí)行到鼠標(biāo)停留處。斷點(diǎn)調(diào)試的適用場景排查問題當(dāng)程序出現(xiàn)錯(cuò)誤或異常時(shí),通過斷點(diǎn)調(diào)試可以定位問題所在,分析錯(cuò)誤原因。功能驗(yàn)證在開發(fā)新功能或修改現(xiàn)有功能時(shí),通過斷點(diǎn)調(diào)試可以驗(yàn)證功能是否按預(yù)期工作。代碼邏輯復(fù)雜當(dāng)代碼邏輯較為復(fù)雜時(shí),通過斷點(diǎn)調(diào)試可以逐步跟蹤程序執(zhí)行流程,幫助理解代碼邏輯。日志調(diào)試03日志調(diào)試DevEcoStudio的日志級別包括DEBUG、INFO、WARN、ERROR和FATAL五種級別,分別對應(yīng)不同詳細(xì)程度的日志信息。日志級別通??梢栽谂渲梦募虼a中設(shè)置日志級別,以控制輸出的日志詳細(xì)程度。設(shè)置方法日志調(diào)試是指在代碼中插入日志語句,記錄程序運(yùn)行時(shí)的關(guān)鍵信息,以便后續(xù)分析和排查問題。概念日志調(diào)試接口名功能描述debug()輸出DEBUG級別的日志。DEBUG級別日志表示僅用于應(yīng)用/服務(wù)調(diào)試??梢栽贒evEcoStudio的terminal窗口或cmd里,通過命令“hdcshellhilogcat”設(shè)置可打印日志的等級為DEBUG。info()輸出INFO級別的日志。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論