Stage模型開發(fā)概述
基本概念
下圖展示了Stage模型中的基本概念。
圖1 Stage模型概念圖
- [AbilityStage]
每個Entry類型或者Feature類型的HAP在運行期都有一個AbilityStage類實例,當HAP中的代碼首次被加載到進程中的時候,系統(tǒng)會先創(chuàng)建AbilityStage實例。 - [UIAbility組件]和[ExtensionAbility組件]
Stage模型提供UIAbility和ExtensionAbility兩種類型的組件,這兩種組件都有具體的類承載,支持面向對象的開發(fā)方式。
開發(fā)前請熟悉鴻蒙開發(fā)指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
- UIAbility組件是一種包含UI的應用組件,主要用于和用戶交互。例如,圖庫類應用可以在UIAbility組件中展示圖片瀑布流,在用戶選擇某個圖片后,在新的頁面中展示圖片的詳細內容。同時用戶可以通過返回鍵返回到瀑布流頁面。UIAbility組件的生命周期只包含創(chuàng)建/銷毀/前臺/后臺等狀態(tài),與顯示相關的狀態(tài)通過WindowStage的事件暴露給開發(fā)者。
- ExtensionAbility組件是一種面向特定場景的應用組件。開發(fā)者并不直接從ExtensionAbility組件派生,而是需要使用ExtensionAbility組件的派生類。目前ExtensionAbility組件有用于卡片場景的FormExtensionAbility,用于輸入法場景的InputMethodExtensionAbility,用于閑時任務場景的WorkSchedulerExtensionAbility等多種派生類,這些派生類都是基于特定場景提供的。例如,用戶在桌面創(chuàng)建應用的卡片,需要應用開發(fā)者從FormExtensionAbility派生,實現(xiàn)其中的回調函數(shù),并在配置文件中配置該能力。ExtensionAbility組件的派生類實例由用戶觸發(fā)創(chuàng)建,并由系統(tǒng)管理生命周期。在Stage模型上,三方應用開發(fā)者不能開發(fā)自定義服務,而需要根據(jù)自身的業(yè)務場景通過ExtensionAbility組件的派生類來實現(xiàn)。
- [WindowStage]
每個UIAbility實例都會與一個WindowStage類實例綁定,該類起到了應用進程內窗口管理器的作用。它包含一個主窗口。也就是說UIAbility實例通過WindowStage持有了一個主窗口,該主窗口為ArkUI提供了繪制區(qū)域。 - [Context]
在Stage模型上,Context及其派生類向開發(fā)者提供在運行期可以調用的各種資源和能力。UIAbility組件和各種ExtensionAbility組件的派生類都有各自不同的Context類,他們都繼承自基類Context,但是各自又根據(jù)所屬組件,提供不同的能力。
開發(fā)流程
基于Stage模型開發(fā)應用時,在應用模型部分,涉及如下開發(fā)過程。
表1 Stage模型開發(fā)流程
任務 | 簡介 | 相關指導HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
---|---|---|
應用組件開發(fā) | 本章節(jié)介紹了如何使用Stage模型的UIAbility組件和ExtensionAbility組件開發(fā)應用。 | - [應用/組件級配置] - [UIAbility組件] - [ExtensionAbility組件] - [AbilityStage組件容器] - [應用上下文Context] - [組件啟動規(guī)則] |
了解進程模型 | 本章節(jié)介紹了Stage模型的進程模型以及幾種常用的進程間通信方式。 | [進程模型概述] |
了解線程模型 | 本章節(jié)介紹了Stage模型的線程模型以及幾種常用的線程間通信方式。 | [線程模型概述] |
應用配置文件 | 本章節(jié)介紹Stage模型中應用配置文件的開發(fā)要求。 | [Stage模型應用配置文件] |
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
模型
+關注
關注
1文章
3521瀏覽量
50440 -
鴻蒙
+關注
關注
60文章
2620瀏覽量
44063
發(fā)布評論請先 登錄
相關推薦
熱點推薦
鴻蒙開發(fā)API9 到 API12,有哪些不同
? ##HarmonyOS 應用開發(fā)##
雖然API9已經(jīng)屬于過時了,但是現(xiàn)在很多學校里教的還是基于API9的鴻蒙開發(fā),當學生需要在畢業(yè)設計中使用API12進行開發(fā)時,還是需要先掌握一
發(fā)表于 06-29 22:47
FA模型的DataAbility的切換介紹
): voidonCreate?(want: Want, callback:
AsyncCallback): void兩者調用時機一致,函數(shù)名即入?yún)⒍疾灰粯樱?b class='flag-5'>Stage模型下增加了入?yún)ant以便開發(fā)者在創(chuàng)建
發(fā)表于 06-06 08:10
FA模型卡片和Stage模型卡片切換
卡片切換
卡片切換主要包含如下三部分:
卡片頁面布局:FA模型卡片和Stage模型卡片的布局都采用類web范式開發(fā)可以直接復用。
卡片配置文件:FA
發(fā)表于 06-06 08:10
從FA模型切換到Stage模型時:module的切換說明
module的切換
從FA模型切換到Stage模型時,開發(fā)者需要將config.json文件module標簽下的配置遷移到module.json5配置文件module標簽下,具體差異
發(fā)表于 06-05 08:16
FA模型的ServiceAbility的切換介紹
兩者調用時機一致,Stage模型下增加了入?yún)ant以便開發(fā)者在創(chuàng)建時獲取參數(shù)。
onCommand(want: Want, startId: number): voidonRequest(want
發(fā)表于 06-05 07:24
FA模型綁定Stage模型ServiceExtensionAbility介紹
FA模型綁定Stage模型ServiceExtensionAbility
本文介紹FA模型的三種應用組件如何綁定Stage
發(fā)表于 06-04 07:55
FA模型訪問Stage模型DataShareExtensionAbility說明
FA模型訪問Stage模型DataShareExtensionAbility
概述
無論FA模型還是
發(fā)表于 06-04 07:53
Stage模型綁定FA模型ServiceAbility的方法
Stage模型綁定FA模型ServiceAbility
本小節(jié)介紹Stage模型的兩種應用組件如何綁定FA
發(fā)表于 06-04 06:54
Stage模型啟動FA模型PageAbility方法
Stage模型啟動FA模型PageAbility
本小節(jié)介紹Stage模型的兩種應用組件如何啟動FA模
發(fā)表于 06-04 06:36
如何將一個FA模型開發(fā)的聲明式范式應用切換到Stage模型
模型切換概述
本文介紹如何將一個FA模型開發(fā)的聲明式范式應用切換到Stage模型,您需要完成如
發(fā)表于 06-04 06:22
KaihongOS操作系統(tǒng)FA模型與Stage模型介紹
FA模型與Stage模型介紹
KaihongOS操作系統(tǒng)中,F(xiàn)A模型(Feature Ability)和Stage
發(fā)表于 04-24 07:27
大語言模型開發(fā)框架是什么
大語言模型開發(fā)框架是指用于訓練、推理和部署大型語言模型的軟件工具和庫。下面,AI部落小編為您介紹大語言模型開發(fā)框架。
大語言模型如何開發(fā)
大語言模型的開發(fā)是一個復雜且細致的過程,涵蓋了數(shù)據(jù)準備、模型架構設計、訓練、微調和部署等多個階段。以下是對大語言模型開發(fā)步驟的介紹,由AI部
評論