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文章
3816浏览量
52265 -
鸿蒙
+关注
关注
60文章
3017浏览量
46172
发布评论请先 登录
相关推荐
热点推荐
鸿蒙开发API9 到 API12,有哪些不同
##HarmonyOS 应用开发##
虽然API9已经属于过时了,但是现在很多学校里教的还是基于API9的鸿蒙开发,当学生需要在毕业设计中使用API12进行开发时,还是需要先掌握一
发表于 06-29 22:47
ArkUI-X通过Stage模型开发Android端应用指南(一)
简介
本文介绍将ArkUI框架扩展到Android平台所需要的必要的类及其使用说明,开发者基于OpenHarmony,可复用大部分的应用代码(生命周期等)并可以部署到Android平台,降低跨平台
发表于 06-24 22:16
FA模型的DataAbility的切换介绍
): voidonCreate?(want: Want, callback:
AsyncCallback): void两者调用时机一致,函数名即入参都不一样,Stage模型下增加了入参want以便开发者在创建
发表于 06-06 08:10
FA模型卡片和Stage模型卡片切换
卡片切换
卡片切换主要包含如下三部分:
卡片页面布局:FA模型卡片和Stage模型卡片的布局都采用类web范式开发可以直接复用。
卡片配置文件:FA
发表于 06-06 08:10
从FA模型切换到Stage模型时:module的切换说明
module的切换
从FA模型切换到Stage模型时,开发者需要将config.json文件module标签下的配置迁移到module.json5配置文件module标签下,具体差异
发表于 06-05 08:16
FA模型的ServiceAbility的切换介绍
两者调用时机一致,Stage模型下增加了入参want以便开发者在创建时获取参数。
onCommand(want: Want, startId: number): voidonRequest(want
发表于 06-05 07:24
FA模型绑定Stage模型ServiceExtensionAbility介绍
FA模型绑定Stage模型ServiceExtensionAbility
本文介绍FA模型的三种应用组件如何绑定Stage
发表于 06-04 07:55
FA模型访问Stage模型DataShareExtensionAbility说明
FA模型访问Stage模型DataShareExtensionAbility
概述
无论FA模型还是
发表于 06-04 07:53
Stage模型绑定FA模型ServiceAbility的方法
Stage模型绑定FA模型ServiceAbility
本小节介绍Stage模型的两种应用组件如何绑定FA
发表于 06-04 06:54
KaihongOS操作系统FA模型与Stage模型介绍
FA模型与Stage模型介绍
KaihongOS操作系统中,FA模型(Feature Ability)和Stage
发表于 04-24 07:27
鸿蒙应用模型:【Stage模型开发】概述
评论