Stage模型開發(fā)概述

2024-01-25 12:12 更新

基本概念

下圖展示了Stage模型中的基本概念。

圖1 Stage模型概念圖

  • UIAbility組件和ExtensionAbility組件

    Stage模型提供UIAbility和ExtensionAbility兩種類型的組件,這兩種組件都有具體的類承載,支持面向?qū)ο蟮拈_發(fā)方式。

    • UIAbility組件是一種包含UI界面的應(yīng)用組件,主要用于和用戶交互。例如,圖庫類應(yīng)用可以在UIAbility組件中展示圖片瀑布流,在用戶選擇某個(gè)圖片后,在新的頁面中展示圖片的詳細(xì)內(nèi)容。同時(shí)用戶可以通過返回鍵返回到瀑布流頁面。UIAbility的生命周期只包含創(chuàng)建/銷毀/前臺(tái)/后臺(tái)等狀態(tài),與顯示相關(guān)的狀態(tài)通過WindowStage的事件暴露給開發(fā)者。

    • ExtensionAbility組件是一種面向特定場景的應(yīng)用組件。

  • WindowStage

    每個(gè)UIAbility類實(shí)例都會(huì)與一個(gè)WindowStage類實(shí)例綁定,該類提供了應(yīng)用進(jìn)程內(nèi)窗口管理器的作用。它包含一個(gè)主窗口。也就是說UIAbility通過WindowStage持有了一個(gè)窗口,該窗口為ArkUI提供了繪制區(qū)域。

  • Context

    在Stage模型上,Context及其派生類向開發(fā)者提供在運(yùn)行期可以調(diào)用的各種能力。UIAbility組件和各種ExtensionAbility派生類都有各自不同的Context類,他們都繼承自基類Context,但是各自又根據(jù)所屬組件,提供不同的能力。

  • AbilityStage

    每個(gè)Entry類型或者Feature類型的HAP在運(yùn)行期都有一個(gè)AbilityStage類實(shí)例,當(dāng)HAP中的代碼首次被加載到進(jìn)程中的時(shí)候,系統(tǒng)會(huì)先創(chuàng)建AbilityStage實(shí)例。每個(gè)在該HAP中定義的UIAbility類,在實(shí)例化后都會(huì)與該實(shí)例產(chǎn)生關(guān)聯(lián)。開發(fā)者可以使用AbilityStage獲取該HAP中UIAbility實(shí)例的運(yùn)行時(shí)信息。

開發(fā)流程

基于Stage模型開發(fā)應(yīng)用時(shí),在應(yīng)用模型部分,涉及如下開發(fā)過程。

表1 Stage模型開發(fā)流程

任務(wù)

簡介

相關(guān)指導(dǎo)

應(yīng)用組件開發(fā)

本章節(jié)介紹了如何使用Stage模型的UIAbility組件和ExtensionAbility組件開發(fā)應(yīng)用。

應(yīng)用/組件級(jí)配置

UIAbility組件

ExtensionAbility組件

AbilityStage組件容器

應(yīng)用上下文Context

了解進(jìn)程模型

本章節(jié)介紹了Stage模型的進(jìn)程模型以及幾種常用的進(jìn)程間通信方式。

公共事件

了解線程模型

本章節(jié)介紹了Stage模型的線程模型以及幾種常用的線程間通信方式。

Emitter

Worker

應(yīng)用配置文件

本章節(jié)介紹Stage模型中應(yīng)用配置文件的開發(fā)要求。

Stage模型應(yīng)用配置文件

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)