HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第30天,Stage模型开发概述。
HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第30天,Stage模型开发概述。 1、Stage模型开发概述
基本概念
下图展示了Stage模型中的基本概念。
-
AbilityStage
每个Entry类型或者Feature类型的HAP在运行期都有一个AbilityStage类实例,当HAP中的代码首次被加载到进程中的时候,系统会先创建AbilityStage实例。 -
UIAbility组件和ExtensionAbility组件
Stage模型提供UIAbility和ExtensionAbility两种类型的组件,这两种组件都有具体的类承载,支持面向对象的开发方式。-
UIAbility组件是一种包含UI界面的应用组件,主要用于和用户交互。例如,图库类应用可以在UIAbility组件中展示图片瀑布流,在用户选择某个图片后,在新的页面中展示图片的详细内容。同时用户可以通过返回键返回到瀑布流页面。UIAbility的生命周期只包含创建/销毁/前台/后台等状态,与显示相关的状态通过WindowStage的事件暴露给开发者。
-
ExtensionAbility组件是一种面向特定场景的应用组件。开发者并不直接从ExtensionAbility派生,而是需要使用ExtensionAbility的派生类。目前ExtensionAbility有用于卡片场景的FormExtensionAbility,用于闲时任务场景的WorkSchedulerExtensionAbility等多种派生类,这些派生类都是基于特定场景提供的。例如,用户在桌面创建应用的卡片,需要应用开发者从FormExtensionAbility派生,实现其中的回调函数,并在配置文件中配置该能力。ExtensionAbility派生类实例由用户触发创建,并由系统管理生命周期。在Stage模型上,普通应用开发者不能开发自定义服务,而需要根据自身的业务场景通过ExtensionAbility的派生类来实现。
-
-
WindowStage
每个UIAbility类实例都会与一个WindowStage类实例绑定,WindowStage类起到了应用进程内窗口管理器的作用,它包含一个主窗口。也就是说,UIAbility通过WindowStage持有了一个窗口,该窗口为ArkUI提供了绘制区域。 -
Context
在Stage模型上,Context及其派生类向开发者提供在运行期可以调用的各种能力。UIAbility组件和各种ExtensionAbility派生类都有各自不同的Context类,他们都继承自基类Context,但是各自又根据所属组件,提供不同的能力。
2、开发流程
基于Stage模型开发应用时,在应用模型部分,涉及如下开发过程。
表1 Stage模型开发流程
任务 | 简介 | 相关指导 |
---|---|---|
应用组件开发 | 本章节介绍了如何使用Stage模型的UIAbility组件和ExtensionAbility组件开发应用。 | - 应用/组件级配置 |
- UIAbility组件
- ExtensionAbility组件
- AbilityStage组件容器
- 应用上下文Context | | 了解进程模型 | 本章节介绍了Stage模型的进程模型以及几种常用的进程间通信方式。 | - 公共事件 | | 了解线程模型 | 本章节介绍了Stage模型的线程模型以及几种常用的线程间通信方式。 | - Emitter
- Worker | | 应用配置文件 | 本章节介绍Stage模型中应用配置文件的开发要求。 | Stage模型应用配置文件
更多关于HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第30天,Stage模型开发概述。的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,Stage模型是一种用于开发应用的基础架构模型,它基于ArkTS语言进行开发。Stage模型的核心思想是将应用的生命周期、界面布局、事件处理等逻辑进行模块化,以提高开发效率和代码的可维护性。
Stage模型主要由以下几个关键组件构成:
-
AbilityStage:作为应用的入口点,负责管理应用的生命周期。AbilityStage可以理解为应用的“舞台”,所有的Ability(能力)都在这个舞台上进行展示和交互。
-
Ability:代表应用的一个具体功能或模块。每个Ability都有自己的生命周期,并且可以独立运行。常见的Ability类型包括PageAbility(页面能力)和ServiceAbility(服务能力)。
-
PageAbility:用于处理用户界面的显示和交互。PageAbility通常与UI组件(如页面布局、控件等)绑定,负责处理用户的输入和响应。
-
ServiceAbility:用于处理后台任务或服务。ServiceAbility不直接与用户界面交互,而是执行一些长时间运行的任务,如数据处理、网络请求等。
-
Context:提供应用运行时的上下文信息,包括资源管理、权限控制等。每个Ability都有一个对应的Context对象,用于获取系统资源或执行系统操作。
在Stage模型中,开发者需要定义AbilityStage和相应的Ability,并通过ArkTS语言实现各个组件的逻辑。通过这种方式,开发者可以更加清晰地组织代码,并且能够更好地管理应用的生命周期和资源。
Stage模型的开发流程通常包括以下几个步骤:
- 创建AbilityStage,并定义应用的生命周期回调方法。
- 创建PageAbility或ServiceAbility,并实现相应的业务逻辑。
- 在Ability中使用Context对象获取系统资源或执行系统操作。
- 通过ArkTS语言编写UI布局和事件处理代码,完成应用的界面设计和交互逻辑。
通过Stage模型,开发者可以更加高效地构建鸿蒙应用,并且能够更好地利用鸿蒙系统的特性和能力。
更多关于HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第30天,Stage模型开发概述。的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next的ArkTS语言教程第30天,我们聚焦于Stage模型开发概述。Stage模型是鸿蒙系统提供的一种应用开发框架,旨在简化应用开发流程,提升开发效率。它通过将应用划分为多个Stage(阶段),每个Stage负责不同的功能模块,从而实现模块化开发。开发者可以利用ArkTS语言,结合Stage模型,快速构建高效、稳定的鸿蒙应用。掌握Stage模型,对于深入理解鸿蒙应用开发架构至关重要。