Stage模型開(kāi)發(fā)概述
基本概念
下圖展示了Stage模型中的基本概念。
圖1 Stage模型概念圖
- [AbilityStage]
每個(gè)Entry類型或者Feature類型的HAP在運(yùn)行期都有一個(gè)AbilityStage類實(shí)例,當(dāng)HAP中的代碼首次被加載到進(jìn)程中的時(shí)候,系統(tǒng)會(huì)先創(chuàng)建AbilityStage實(shí)例。 - [UIAbility組件]和[ExtensionAbility組件]
Stage模型提供UIAbility和ExtensionAbility兩種類型的組件,這兩種組件都有具體的類承載,支持面向?qū)ο蟮拈_(kāi)發(fā)方式。
開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
- UIAbility組件是一種包含UI的應(yīng)用組件,主要用于和用戶交互。例如,圖庫(kù)類應(yīng)用可以在UIAbility組件中展示圖片瀑布流,在用戶選擇某個(gè)圖片后,在新的頁(yè)面中展示圖片的詳細(xì)內(nèi)容。同時(shí)用戶可以通過(guò)返回鍵返回到瀑布流頁(yè)面。UIAbility組件的生命周期只包含創(chuàng)建/銷(xiāo)毀/前臺(tái)/后臺(tái)等狀態(tài),與顯示相關(guān)的狀態(tài)通過(guò)WindowStage的事件暴露給開(kāi)發(fā)者。
- ExtensionAbility組件是一種面向特定場(chǎng)景的應(yīng)用組件。開(kāi)發(fā)者并不直接從ExtensionAbility組件派生,而是需要使用ExtensionAbility組件的派生類。目前ExtensionAbility組件有用于卡片場(chǎng)景的FormExtensionAbility,用于輸入法場(chǎng)景的InputMethodExtensionAbility,用于閑時(shí)任務(wù)場(chǎng)景的WorkSchedulerExtensionAbility等多種派生類,這些派生類都是基于特定場(chǎng)景提供的。例如,用戶在桌面創(chuàng)建應(yīng)用的卡片,需要應(yīng)用開(kāi)發(fā)者從FormExtensionAbility派生,實(shí)現(xiàn)其中的回調(diào)函數(shù),并在配置文件中配置該能力。ExtensionAbility組件的派生類實(shí)例由用戶觸發(fā)創(chuàng)建,并由系統(tǒng)管理生命周期。在Stage模型上,三方應(yīng)用開(kāi)發(fā)者不能開(kāi)發(fā)自定義服務(wù),而需要根據(jù)自身的業(yè)務(wù)場(chǎng)景通過(guò)ExtensionAbility組件的派生類來(lái)實(shí)現(xiàn)。
- [WindowStage]
每個(gè)UIAbility實(shí)例都會(huì)與一個(gè)WindowStage類實(shí)例綁定,該類起到了應(yīng)用進(jìn)程內(nèi)窗口管理器的作用。它包含一個(gè)主窗口。也就是說(shuō)UIAbility實(shí)例通過(guò)WindowStage持有了一個(gè)主窗口,該主窗口為ArkUI提供了繪制區(qū)域。 - [Context]
在Stage模型上,Context及其派生類向開(kāi)發(fā)者提供在運(yùn)行期可以調(diào)用的各種資源和能力。UIAbility組件和各種ExtensionAbility組件的派生類都有各自不同的Context類,他們都繼承自基類Context,但是各自又根據(jù)所屬組件,提供不同的能力。
開(kāi)發(fā)流程
基于Stage模型開(kāi)發(fā)應(yīng)用時(shí),在應(yīng)用模型部分,涉及如下開(kāi)發(fā)過(guò)程。
表1 Stage模型開(kāi)發(fā)流程

| 任務(wù) | 簡(jiǎn)介 | 相關(guān)指導(dǎo)HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
|---|---|---|
| 應(yīng)用組件開(kāi)發(fā) | 本章節(jié)介紹了如何使用Stage模型的UIAbility組件和ExtensionAbility組件開(kāi)發(fā)應(yīng)用。 | - [應(yīng)用/組件級(jí)配置] - [UIAbility組件] - [ExtensionAbility組件] - [AbilityStage組件容器] - [應(yīng)用上下文Context] - [組件啟動(dòng)規(guī)則] |
| 了解進(jìn)程模型 | 本章節(jié)介紹了Stage模型的進(jìn)程模型以及幾種常用的進(jìn)程間通信方式。 | [進(jìn)程模型概述] |
| 了解線程模型 | 本章節(jié)介紹了Stage模型的線程模型以及幾種常用的線程間通信方式。 | [線程模型概述] |
| 應(yīng)用配置文件 | 本章節(jié)介紹Stage模型中應(yīng)用配置文件的開(kāi)發(fā)要求。 | [Stage模型應(yīng)用配置文件] |
審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
模型
+關(guān)注
關(guān)注
1文章
3852瀏覽量
52310 -
鴻蒙
+關(guān)注
關(guān)注
60文章
3045瀏覽量
46233
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
AI大模型算法-從大模型原理剖析到訓(xùn)練(微調(diào))落地實(shí)戰(zhàn)(完結(jié)) (讠果xingkeit-top)#大模型
大模型
jf_76631595
發(fā)布于 :2026年05月13日 19:06:15
工作流大模型節(jié)點(diǎn)說(shuō)明
大模型節(jié)點(diǎn)是平臺(tái)提供的基礎(chǔ)節(jié)點(diǎn)之一,開(kāi)發(fā)者可以在該節(jié)點(diǎn)使用大語(yǔ)言模型處理任務(wù)。
節(jié)點(diǎn)說(shuō)明
大模型節(jié)點(diǎn)可以調(diào)用大型語(yǔ)言模型,根據(jù)輸入?yún)?shù)和提示
發(fā)表于 03-19 14:56
鴻蒙中Stage模型與FA模型詳解
【HarmonyOS 5】鴻蒙中Stage模型與FA模型詳解 ##鴻蒙開(kāi)發(fā)能力 ##Harmon
鴻蒙開(kāi)發(fā)API9 到 API12,有哪些不同
? ##HarmonyOS 應(yīng)用開(kāi)發(fā)##
雖然API9已經(jīng)屬于過(guò)時(shí)了,但是現(xiàn)在很多學(xué)校里教的還是基于API9的鴻蒙開(kāi)發(fā),當(dāng)學(xué)生需要在畢業(yè)設(shè)計(jì)中使用API12進(jìn)行開(kāi)發(fā)時(shí),還是需要先掌握一
發(fā)表于 06-29 22:47
ArkUI-X通過(guò)Stage模型開(kāi)發(fā)Android端應(yīng)用指南(一)
簡(jiǎn)介
本文介紹將ArkUI框架擴(kuò)展到Android平臺(tái)所需要的必要的類及其使用說(shuō)明,開(kāi)發(fā)者基于OpenHarmony,可復(fù)用大部分的應(yīng)用代碼(生命周期等)并可以部署到Android平臺(tái),降低跨平臺(tái)
發(fā)表于 06-24 22:16
FA模型的DataAbility的切換介紹
): voidonCreate?(want: Want, callback:
AsyncCallback): void兩者調(diào)用時(shí)機(jī)一致,函數(shù)名即入?yún)⒍疾灰粯樱?b class='flag-5'>Stage模型下增加了入?yún)ant以便開(kāi)發(fā)者在創(chuàng)建
發(fā)表于 06-06 08:10
FA模型卡片和Stage模型卡片切換
卡片切換
卡片切換主要包含如下三部分:
卡片頁(yè)面布局:FA模型卡片和Stage模型卡片的布局都采用類web范式開(kāi)發(fā)可以直接復(fù)用。
卡片配置文件:FA
發(fā)表于 06-06 08:10
從FA模型切換到Stage模型時(shí):module的切換說(shuō)明
module的切換
從FA模型切換到Stage模型時(shí),開(kāi)發(fā)者需要將config.json文件module標(biāo)簽下的配置遷移到module.json5配置文件module標(biāo)簽下,具體差異
發(fā)表于 06-05 08:16
FA模型的ServiceAbility的切換介紹
兩者調(diào)用時(shí)機(jī)一致,Stage模型下增加了入?yún)ant以便開(kāi)發(fā)者在創(chuàng)建時(shí)獲取參數(shù)。
onCommand(want: Want, startId: number): voidonRequest(want
發(fā)表于 06-05 07:24
FA模型綁定Stage模型ServiceExtensionAbility介紹
FA模型綁定Stage模型ServiceExtensionAbility
本文介紹FA模型的三種應(yīng)用組件如何綁定Stage
發(fā)表于 06-04 07:55
FA模型訪問(wèn)Stage模型DataShareExtensionAbility說(shuō)明
FA模型訪問(wèn)Stage模型DataShareExtensionAbility
概述
無(wú)論FA模型還是
發(fā)表于 06-04 07:53
Stage模型綁定FA模型ServiceAbility的方法
Stage模型綁定FA模型ServiceAbility
本小節(jié)介紹Stage模型的兩種應(yīng)用組件如何綁定FA
發(fā)表于 06-04 06:54
Stage模型啟動(dòng)FA模型PageAbility方法
Stage模型啟動(dòng)FA模型PageAbility
本小節(jié)介紹Stage模型的兩種應(yīng)用組件如何啟動(dòng)FA模
發(fā)表于 06-04 06:36
如何將一個(gè)FA模型開(kāi)發(fā)的聲明式范式應(yīng)用切換到Stage模型
模型切換概述
本文介紹如何將一個(gè)FA模型開(kāi)發(fā)的聲明式范式應(yīng)用切換到Stage模型,您需要完成如
發(fā)表于 06-04 06:22
鴻蒙應(yīng)用模型:【Stage模型開(kāi)發(fā)】概述
評(píng)論