0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙应用模型:【Stage模型开发】概述

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-05-30 09:33 次阅读

Stage模型开发概述

基本概念

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

图1 Stage模型概念图
stage-concepts

  • [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模型开发流程

新文档.png

任务简介相关指导HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789是v直接拿
应用组件开发本章节介绍了如何使用Stage模型的UIAbility组件和ExtensionAbility组件开发应用。- [应用/组件级配置] - [UIAbility组件] - [ExtensionAbility组件] - [AbilityStage组件容器] - [应用上下文Context] - [组件启动规则]
了解进程模型本章节介绍了Stage模型的进程模型以及几种常用的进程间通信方式。[进程模型概述]
了解线程模型本章节介绍了Stage模型的线程模型以及几种常用的线程间通信方式。[线程模型概述]
应用配置文件本章节介绍Stage模型中应用配置文件的开发要求。[Stage模型应用配置文件]

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模型
    +关注

    关注

    1

    文章

    2823

    浏览量

    48053
  • 鸿蒙
    +关注

    关注

    55

    文章

    2103

    浏览量

    42271
收藏 人收藏

    评论

    相关推荐

    鸿蒙开发Ability Kit程序框架服务:FA模型切换Stage模型指导 module的切换

    从FA模型切换到Stage模型时,开发者需要将config.json文件module标签下的配置迁移到module.json5配置文件module标签下,具体差异见下列表格。
    的头像 发表于 06-27 14:16 108次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>Ability Kit程序框架服务:FA<b class='flag-5'>模型</b>切换<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>指导 module的切换

    鸿蒙开发Ability Kit程序框架服务:FA模型切换Stage模型概述

    本文介绍如何将一个FA模型开发的声明式范式应用切换到Stage模型
    的头像 发表于 06-26 14:40 98次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>Ability Kit程序框架服务:FA<b class='flag-5'>模型</b>切换<b class='flag-5'>Stage</b><b class='flag-5'>模型</b><b class='flag-5'>概述</b>

    鸿蒙开发Ability Kit程序框架服务:Stage模型启动FA模型PageAbility

    本小节介绍Stage模型的两种应用组件如何启动FA模型的PageAbility组件。
    的头像 发表于 06-26 09:50 117次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>Ability Kit程序框架服务:<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>启动FA<b class='flag-5'>模型</b>PageAbility

    鸿蒙开发Ability Kit程序框架服务:Stage模型绑定FA模型ServiceAbility

    本小节介绍Stage模型的两种应用组件如何绑定FA模型ServiceAbility组件。
    的头像 发表于 06-25 21:47 64次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>Ability Kit程序框架服务:<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>绑定FA<b class='flag-5'>模型</b>ServiceAbility

    鸿蒙开发Ability Kit程序框架服务:FA模型启动Stage模型UIAbility

    本文介绍FA模型的三种应用组件如何启动Stage模型的UIAbility组件。
    的头像 发表于 06-25 16:00 159次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>Ability Kit程序框架服务:FA<b class='flag-5'>模型</b>启动<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>UIAbility

    鸿蒙开发Ability Kit程序框架服务:FA模型访问Stage模型DataShareExtensionAbility

    无论FA模型还是Stage模型,数据读写功能都包含客户端和服务端两部分。
    的头像 发表于 06-25 14:30 130次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>Ability Kit程序框架服务:FA<b class='flag-5'>模型</b>访问<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>DataShareExtensionAbility

    鸿蒙开发Ability Kit程序框架服务:FA模型绑定Stage模型ServiceExtensionAbility

    本文介绍FA模型的三种应用组件如何绑定Stage模型的ServiceExtensionAbility组件。
    的头像 发表于 06-25 10:43 86次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>Ability Kit程序框架服务:FA<b class='flag-5'>模型</b>绑定<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>ServiceExtensionAbility

    鸿蒙开发Ability Kit程序框架服务:FA模型Stage模型应用组件互通综述

    FA模型Stage模型是两套不同的应用模型,他们拥有各自的组件。FA模型提供三种应用组件,分别是PageAbility、ServiceAb
    的头像 发表于 06-24 16:43 187次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>Ability Kit程序框架服务:FA<b class='flag-5'>模型</b>与<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>应用组件互通综述

    鸿蒙OS开发案例:【Stage模型卡片】

    本示例展示了Stage模型卡片提供方的创建与使用。
    的头像 发表于 04-09 17:13 612次阅读
    <b class='flag-5'>鸿蒙</b>OS<b class='flag-5'>开发</b>案例:【<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>卡片】

    Stage 模型深入解读

    HarmonyOS 3.1 版本(API 9)推出了全新应用开发模型 - Stage 模型,该模型重新定义了应用
    的头像 发表于 02-18 09:28 653次阅读
    <b class='flag-5'>Stage</b> <b class='flag-5'>模型</b>深入解读

    鸿蒙Stage模型--概述

    Stage模型:HarmonyOS 3.1 Develper Preview版本开始新增的模型,是目前主推且会长期演进的模型。在该模型中,由
    的头像 发表于 01-29 13:59 887次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>Stage</b><b class='flag-5'>模型</b>--<b class='flag-5'>概述</b>

    鸿蒙Ability开发-Stage模型下Ability的创建和使用

    对Ability开发技术的简单运用,更多的鸿蒙开发技术可以前往我主页查询,下面分享鸿蒙开发4.0技术分布(略缩图): 高清完整版技术学习
    发表于 01-08 15:34

    鸿蒙原生应用/元服务开发-Stage模型能力接口(八)

    独标记接口的起始版本。本模块接口仅可在Stage模型下使用。 二、导入模块 .import ExtensionAbility from
    发表于 12-20 16:12

    鸿蒙原生应用/元服务开发-Stage模型能力接口(五)

    Stage模型下使用 二、 导入模块 import common from \'@ohos.app.ability.common\'; 三、系统能力 :以下各项对应的系统能力均为
    发表于 12-15 15:11

    OpenHarmony应用模型的构成要素与Stage优势

    应用开发更简单、高效。 二、Stage主推模型优势 Stage模型之所以成为主推模型,源于其设计
    发表于 09-26 16:48