Stage模型開發概述
基本概念
下圖展示了Stage模型中的基本概念。
圖1 Stage模型概念圖
- [AbilityStage]
每個Entry類型或者Feature類型的HAP在運行期都有一個AbilityStage類實例,當HAP中的代碼首次被加載到進程中的時候,系統會先創建AbilityStage實例。 - [UIAbility組件]和[ExtensionAbility組件]
Stage模型提供UIAbility和ExtensionAbility兩種類型的組件,這兩種組件都有具體的類承載,支持面向對象的開發方式。
開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
- UIAbility組件是一種包含UI的應用組件,主要用于和用戶交互。例如,圖庫類應用可以在UIAbility組件中展示圖片瀑布流,在用戶選擇某個圖片后,在新的頁面中展示圖片的詳細內容。同時用戶可以通過返回鍵返回到瀑布流頁面。UIAbility組件的生命周期只包含創建/銷毀/前臺/后臺等狀態,與顯示相關的狀態通過WindowStage的事件暴露給開發者。
- ExtensionAbility組件是一種面向特定場景的應用組件。開發者并不直接從ExtensionAbility組件派生,而是需要使用ExtensionAbility組件的派生類。目前ExtensionAbility組件有用于卡片場景的FormExtensionAbility,用于輸入法場景的InputMethodExtensionAbility,用于閑時任務場景的WorkSchedulerExtensionAbility等多種派生類,這些派生類都是基于特定場景提供的。例如,用戶在桌面創建應用的卡片,需要應用開發者從FormExtensionAbility派生,實現其中的回調函數,并在配置文件中配置該能力。ExtensionAbility組件的派生類實例由用戶觸發創建,并由系統管理生命周期。在Stage模型上,三方應用開發者不能開發自定義服務,而需要根據自身的業務場景通過ExtensionAbility組件的派生類來實現。
- [WindowStage]
每個UIAbility實例都會與一個WindowStage類實例綁定,該類起到了應用進程內窗口管理器的作用。它包含一個主窗口。也就是說UIAbility實例通過WindowStage持有了一個主窗口,該主窗口為ArkUI提供了繪制區域。 - [Context]
在Stage模型上,Context及其派生類向開發者提供在運行期可以調用的各種資源和能力。UIAbility組件和各種ExtensionAbility組件的派生類都有各自不同的Context類,他們都繼承自基類Context,但是各自又根據所屬組件,提供不同的能力。
開發流程
基于Stage模型開發應用時,在應用模型部分,涉及如下開發過程。
表1 Stage模型開發流程
任務 | 簡介 | 相關指導HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
---|---|---|
應用組件開發 | 本章節介紹了如何使用Stage模型的UIAbility組件和ExtensionAbility組件開發應用。 | - [應用/組件級配置] - [UIAbility組件] - [ExtensionAbility組件] - [AbilityStage組件容器] - [應用上下文Context] - [組件啟動規則] |
了解進程模型 | 本章節介紹了Stage模型的進程模型以及幾種常用的進程間通信方式。 | [進程模型概述] |
了解線程模型 | 本章節介紹了Stage模型的線程模型以及幾種常用的線程間通信方式。 | [線程模型概述] |
應用配置文件 | 本章節介紹Stage模型中應用配置文件的開發要求。 | [Stage模型應用配置文件] |
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
模型
+關注
關注
1文章
3255瀏覽量
48905 -
鴻蒙
+關注
關注
57文章
2365瀏覽量
42896
發布評論請先 登錄
相關推薦
鴻蒙開發Ability Kit程序框架服務:FA模型切換Stage模型指導 module的切換
從FA模型切換到Stage模型時,開發者需要將config.json文件module標簽下的配置遷移到module.json5配置文件module標簽下,具體差異見下列表格。
鴻蒙開發Ability Kit程序框架服務:FA模型切換Stage模型指導 app和deviceConfig的切換
為了便于開發者維護應用級別的屬性配置,Stage模型將config.json中的app和deviceConfig標簽提取到了app.json5中進行配置,并對部分標簽名稱進行了修改,具體差異見下表。
鴻蒙開發Ability Kit程序框架服務:FA模型綁定Stage模型ServiceExtensionAbility
本文介紹FA模型的三種應用組件如何綁定Stage模型的ServiceExtensionAbility組件。
鴻蒙開發Ability Kit程序框架服務:FA模型與Stage模型應用組件互通綜述
FA模型與Stage模型是兩套不同的應用模型,他們擁有各自的組件。FA模型提供三種應用組件,分別是PageAbility、ServiceAb
HarmonyOS開發案例:【Stage模型下Ability的創建和使用】
基于Stage模型,對Ability的創建和使用進行講解。首先在課程中我們將帶領大家使用DevEco Studio創建一個Stage模型Ability,并使用UIAbilityCont
鴻蒙OS元服務開發:【(Stage模型)設置應用主窗口】
在Stage模型下,應用主窗口由UIAbility創建并維護生命周期。在UIAbility的onWindowStageCreate回調中,通過WindowStage獲取應用主窗口,即可對其進行屬性設置等操作。還可以在應用配置文件中設置應用主窗口的屬性,如最大窗口寬度max
鴻蒙Ability開發-Stage模型下Ability的創建和使用
對Ability開發技術的簡單運用,更多的鴻蒙開發技術可以前往我主頁查詢,下面分享鴻蒙開發4.0技術分布(略縮圖):
高清完整版技術學習
發表于 01-08 15:34
評論