鴻蒙初學001-構(gòu)建第一個ArkTS應用(Stage模型)
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/application-dev-guide-V5
HarmonyOS SDK介紹:
從HarmonyOS NEXT Developer Preview1(API 11)版本開始,HarmonyOS SDK以Kit維度提供豐富、完備的開放能力,涵蓋應用框架、系統(tǒng)、媒體、圖形、應用服務、AI六大領(lǐng)域,例如:
- 應用框架相關(guān)Kit開放能力:Ability Kit(程序框架服務)、ArkUI(方舟UI框架)等。
- 系統(tǒng)相關(guān)Kit開放能力:Universal Keystore Kit(密鑰管理服務)、Network Kit(網(wǎng)絡服務)等。
- 媒體相關(guān)Kit開放能力:Audio Kit(音頻服務)、Media Library Kit(媒體文件管理服務)等。
- 圖形相關(guān)Kit開放能力:ArkGraphics 2D(方舟2D圖形服務)、Graphics Accelerate Kit(圖形加速服務)等。
- 應用服務相關(guān)Kit開放能力:Game Service Kit(游戲服務)、Location Kit(位置服務)等。
- AI相關(guān)Kit開放能力:Intents Kit(意圖框架服務)、HiAI Foundation Kit(HiAI Foundation服務)等。
開發(fā)工具:DevEco Studio工具
1、創(chuàng)建一個應用

二、創(chuàng)建后的項目目錄

目錄介紹:
- AppScope > app.json5:應用的全局配置信息,詳見app.json5配置文件。
-
entry:HarmonyOS工程模塊,編譯構(gòu)建生成一個HAP包。
- src > main > ets:用于存放ArkTS源碼。
- src > main > ets > entryability:應用/服務的入口。
- src > main > ets > entrybackupability:應用提供擴展的備份恢復能力。
- src > main > ets > pages:應用/服務包含的頁面。
- src > main > resources:用于存放應用/服務所用到的資源文件,如圖形、多媒體、字符串、布局文件等。關(guān)于資源文件,詳見資源分類與訪問。
- src > main > module.json5:模塊配置文件。主要包含HAP包的配置信息、應用/服務在具體設備上的配置信息以及應用/服務的全局配置信息。具體的配置文件說明,詳見module.json5配置文件。
- build-profile.json5:當前的模塊信息 、編譯信息配置項,包括buildOption、targets配置等。
- hvigorfile.ts:模塊級編譯構(gòu)建任務腳本。
- obfuscation-rules.txt:混淆規(guī)則文件。混淆開啟后,在使用Release模式進行編譯時,會對代碼進行編譯、混淆及壓縮處理,保護代碼資產(chǎn)。詳見開啟代碼混淆。
- oh-package.json5:用來描述包名、版本、入口文件(類型聲明文件)和依賴項等信息。
- oh_modules:用于存放三方庫依賴信息。
-
build-profile.json5:工程級配置信息,包括簽名signingConfigs、產(chǎn)品配置products等。其中products中可配置當前運行環(huán)境,默認為HarmonyOS。
-
hvigorfile.ts:工程級編譯構(gòu)建任務腳本。
- oh-package.json5:主要用來描述全局配置,如:依賴覆蓋(overrides)、依賴關(guān)系重寫(overrideDependencyMap)和參數(shù)化配置(parameterFile)等。
三、編寫頁面
,在“Project”窗口,點擊“entry > src > main > ets > pages”,打開“Index.ets”文件,進行頁面的編寫
添加一個按鈕
//添加按鈕,以響應用戶點擊 Button(){ Text('Next') .fontSize(30) .fontWeight(FontWeight.Bold) } .type(ButtonType.Capsule) .margin({ top:20 }) .backgroundColor('#0D9FFB') .width('40%') .height('10%')
四、創(chuàng)建第二個頁面
開發(fā)者也可以在右鍵點擊“pages”文件夾時,選擇“New > Page > Empty Page”,命名為“Second”,點擊“Finish”完成第二個頁面的創(chuàng)建。使用此種方式則無需再進行下文中第二個頁面路由的手動配置。
創(chuàng)建頁面后自動添加的路由

第二個頁面添加返回按鈕
@Entry @Component struct Second { @State message: string = 'Hello World'; build() { Row(){ Column(){ Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) Button(){ Text('返回') .fontSize(25) .fontWeight(FontWeight.Bold) }.type(ButtonType.Circle) .margin({ top:20 }) .backgroundColor('#0D9FFB') .width('40%') .height('5%') } .width('100%') }.height('100%') } }
添加按鈕點擊事件,做跳轉(zhuǎn)操作:
跳轉(zhuǎn)到第二個頁面代碼
router.pushUrl({
url:'pages/Second'
}).then(()=>{
console.log('to Second Page')
}).catch((err:BusinessError)=>{
console.error('跳轉(zhuǎn)錯誤 ${err.Code}, ${err.message}')
})
路由返回代碼:
console.log('click back')
try {
router.back()
}
catch (err){
let code=(err as BusinessError).code;
let message=(err as BusinessError).message;
console.error('Fail to Back ${code},message is ${message}')
}
第一個ArtTS應用完成

浙公網(wǎng)安備 33010602011771號