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文章
2823浏览量
48053 -
鸿蒙
+关注
关注
55文章
2103浏览量
42271
发布评论请先 登录
相关推荐
鸿蒙开发Ability Kit程序框架服务:FA模型切换Stage模型指导 module的切换
从FA模型切换到Stage模型时,开发者需要将config.json文件module标签下的配置迁移到module.json5配置文件module标签下,具体差异见下列表格。
![<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的切换](https://file1.elecfans.com/web2/M00/C5/D5/wKgZomYCnRSAcOMcAACEEnttXHc600.png)
鸿蒙开发Ability Kit程序框架服务:FA模型绑定Stage模型ServiceExtensionAbility
本文介绍FA模型的三种应用组件如何绑定Stage模型的ServiceExtensionAbility组件。
![<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](https://file1.elecfans.com/web2/M00/C5/D5/wKgZomYCnRSAcOMcAACEEnttXHc600.png)
鸿蒙开发Ability Kit程序框架服务:FA模型与Stage模型应用组件互通综述
FA模型与Stage模型是两套不同的应用模型,他们拥有各自的组件。FA模型提供三种应用组件,分别是PageAbility、ServiceAb
![<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>应用组件互通综述](https://file1.elecfans.com/web2/M00/F2/5C/wKgZomZ5J5OAKymYAAQbWDMAR2M322.jpg)
鸿蒙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
评论