0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙應(yīng)用模型:【Stage模型開發(fā)】概述

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-30 09:33 ? 次閱讀

Stage模型開發(fā)概述

基本概念

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

圖1 Stage模型概念圖
stage-concepts

  • [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ū)ο蟮拈_發(fā)方式。

開發(fā)前請(qǐng)熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

-   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組件是一種面向特定場(chǎng)景的應(yīng)用組件。開發(fā)者并不直接從ExtensionAbility組件派生,而是需要使用ExtensionAbility組件的派生類。目前ExtensionAbility組件有用于卡片場(chǎng)景的FormExtensionAbility,用于輸入法場(chǎng)景的InputMethodExtensionAbility,用于閑時(shí)任務(wù)場(chǎng)景的WorkSchedulerExtensionAbility等多種派生類,這些派生類都是基于特定場(chǎng)景提供的。例如,用戶在桌面創(chuàng)建應(yīng)用的卡片,需要應(yīng)用開發(fā)者從FormExtensionAbility派生,實(shí)現(xiàn)其中的回調(diào)函數(shù),并在配置文件中配置該能力。ExtensionAbility組件的派生類實(shí)例由用戶觸發(fā)創(chuàng)建,并由系統(tǒng)管理生命周期。Stage模型上,三方應(yīng)用開發(fā)者不能開發(fā)自定義服務(wù),而需要根據(jù)自身的業(yè)務(wù)場(chǎng)景通過ExtensionAbility組件的派生類來實(shí)現(xiàn)。
  • [WindowStage]
    每個(gè)UIAbility實(shí)例都會(huì)與一個(gè)WindowStage類實(shí)例綁定,該類起到了應(yīng)用進(jìn)程內(nèi)窗口管理器的作用。它包含一個(gè)主窗口。也就是說UIAbility實(shí)例通過WindowStage持有了一個(gè)主窗口,該主窗口為ArkUI提供了繪制區(qū)域。
  • [Context]
    在Stage模型上,Context及其派生類向開發(fā)者提供在運(yùn)行期可以調(diào)用的各種資源和能力。UIAbility組件和各種ExtensionAbility組件的派生類都有各自不同的Context類,他們都繼承自基類Context,但是各自又根據(jù)所屬組件,提供不同的能力。

開發(fā)流程

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

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

新文檔.png

任務(wù)簡(jiǎn)介相關(guān)指導(dǎo)HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
應(yīng)用組件開發(fā)本章節(jié)介紹了如何使用Stage模型的UIAbility組件和ExtensionAbility組件開發(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)用配置文件的開發(fā)要求。[Stage模型應(yīng)用配置文件]

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3255

    瀏覽量

    48907
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2368

    瀏覽量

    42897
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型切換Stage模型指導(dǎo) module的切換

    從FA模型切換到Stage模型時(shí),開發(fā)者需要將config.json文件module標(biāo)簽下的配置遷移到module.json5配置文件module標(biāo)簽下,具體差異見下列表格。
    的頭像 發(fā)表于 06-27 14:16 ?476次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>Ability Kit程序框架服務(wù):FA<b class='flag-5'>模型</b>切換<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>指導(dǎo) module的切換

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型切換Stage模型指導(dǎo) app和deviceConfig的切換

    為了便于開發(fā)者維護(hù)應(yīng)用級(jí)別的屬性配置,Stage模型將config.json中的app和deviceConfig標(biāo)簽提取到了app.json5中進(jìn)行配置,并對(duì)部分標(biāo)簽名稱進(jìn)行了修改,具體差異見下表。
    的頭像 發(fā)表于 06-27 10:01 ?361次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>Ability Kit程序框架服務(wù):FA<b class='flag-5'>模型</b>切換<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>指導(dǎo) app和deviceConfig的切換

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型切換Stage模型概述

    本文介紹如何將一個(gè)FA模型開發(fā)的聲明式范式應(yīng)用切換到Stage模型
    的頭像 發(fā)表于 06-26 14:40 ?351次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>Ability Kit程序框架服務(wù):FA<b class='flag-5'>模型</b>切換<b class='flag-5'>Stage</b><b class='flag-5'>模型</b><b class='flag-5'>概述</b>

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):Stage模型啟動(dòng)FA模型PageAbility

    本小節(jié)介紹Stage模型的兩種應(yīng)用組件如何啟動(dòng)FA模型的PageAbility組件。
    的頭像 發(fā)表于 06-26 09:50 ?378次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>Ability Kit程序框架服務(wù):<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>啟動(dòng)FA<b class='flag-5'>模型</b>PageAbility

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):Stage模型綁定FA模型ServiceAbility

    本小節(jié)介紹Stage模型的兩種應(yīng)用組件如何綁定FA模型ServiceAbility組件。
    的頭像 發(fā)表于 06-25 21:47 ?316次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>Ability Kit程序框架服務(wù):<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>綁定FA<b class='flag-5'>模型</b>ServiceAbility

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型啟動(dòng)Stage模型UIAbility

    本文介紹FA模型的三種應(yīng)用組件如何啟動(dòng)Stage模型的UIAbility組件。
    的頭像 發(fā)表于 06-25 16:00 ?377次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>Ability Kit程序框架服務(wù):FA<b class='flag-5'>模型</b>啟動(dòng)<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>UIAbility

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型訪問Stage模型DataShareExtensionAbility

    無論FA模型還是Stage模型,數(shù)據(jù)讀寫功能都包含客戶端和服務(wù)端兩部分。
    的頭像 發(fā)表于 06-25 14:30 ?407次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>Ability Kit程序框架服務(wù):FA<b class='flag-5'>模型</b>訪問<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>DataShareExtensionAbility

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型綁定Stage模型ServiceExtensionAbility

    本文介紹FA模型的三種應(yīng)用組件如何綁定Stage模型的ServiceExtensionAbility組件。
    的頭像 發(fā)表于 06-25 10:43 ?305次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>Ability Kit程序框架服務(wù):FA<b class='flag-5'>模型</b>綁定<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>ServiceExtensionAbility

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型Stage模型應(yīng)用組件互通綜述

    FA模型Stage模型是兩套不同的應(yīng)用模型,他們擁有各自的組件。FA模型提供三種應(yīng)用組件,分別是PageAbility、ServiceAb
    的頭像 發(fā)表于 06-24 16:43 ?541次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>Ability Kit程序框架服務(wù):FA<b class='flag-5'>模型</b>與<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>應(yīng)用組件互通綜述

    HarmonyOS開發(fā)案例:【Stage模型下Ability的創(chuàng)建和使用】

    基于Stage模型,對(duì)Ability的創(chuàng)建和使用進(jìn)行講解。首先在課程中我們將帶領(lǐng)大家使用DevEco Studio創(chuàng)建一個(gè)Stage模型Ability,并使用UIAbilityCont
    的頭像 發(fā)表于 05-08 14:41 ?755次閱讀
    HarmonyOS<b class='flag-5'>開發(fā)</b>案例:【<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>下Ability的創(chuàng)建和使用】

    鴻蒙OS開發(fā)案例:【Stage模型卡片】

    本示例展示了Stage模型卡片提供方的創(chuàng)建與使用。
    的頭像 發(fā)表于 04-09 17:13 ?1006次閱讀
    <b class='flag-5'>鴻蒙</b>OS<b class='flag-5'>開發(fā)</b>案例:【<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>卡片】

    鴻蒙OS元服務(wù)開發(fā):【(Stage模型)設(shè)置應(yīng)用主窗口】

    Stage模型下,應(yīng)用主窗口由UIAbility創(chuàng)建并維護(hù)生命周期。在UIAbility的onWindowStageCreate回調(diào)中,通過WindowStage獲取應(yīng)用主窗口,即可對(duì)其進(jìn)行屬性設(shè)置等操作。還可以在應(yīng)用配置文件中設(shè)置應(yīng)用主窗口的屬性,如最大窗口寬度max
    的頭像 發(fā)表于 04-03 18:28 ?1234次閱讀
    <b class='flag-5'>鴻蒙</b>OS元服務(wù)<b class='flag-5'>開發(fā)</b>:【(<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>)設(shè)置應(yīng)用主窗口】

    Stage 模型深入解讀

    HarmonyOS 3.1 版本(API 9)推出了全新應(yīng)用開發(fā)模型 - Stage 模型,該模型重新定義了應(yīng)用
    的頭像 發(fā)表于 02-18 09:28 ?1183次閱讀
    <b class='flag-5'>Stage</b> <b class='flag-5'>模型</b>深入解讀

    鴻蒙應(yīng)用/元服務(wù)開發(fā)-窗口(Stage模型)設(shè)置應(yīng)用主窗口

    一、 設(shè)置應(yīng)用主窗口****說明 在Stage模型下,應(yīng)用主窗口由UIAbility創(chuàng)建并維護(hù)生命周期。在UIAbility的onWindowStageCreate回調(diào)中,通過WindowStage
    發(fā)表于 02-05 14:45

    鴻蒙Stage模型--概述

    Stage模型:HarmonyOS 3.1 Develper Preview版本開始新增的模型,是目前主推且會(huì)長(zhǎng)期演進(jìn)的模型。在該模型中,由
    的頭像 發(fā)表于 01-29 13:59 ?1343次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Stage</b><b class='flag-5'>模型</b>--<b class='flag-5'>概述</b>