HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第30天,Stage模型开发概述。

发布于 1周前 作者 songsunli 来自 鸿蒙OS

HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第30天,Stage模型开发概述。 1、Stage模型开发概述

基本概念
下图展示了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组件开发应用。 - 应用/组件级配置

更多关于HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第30天,Stage模型开发概述。的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在HarmonyOS鸿蒙Next中,Stage模型是一种用于开发应用的基础架构模型,它基于ArkTS语言进行开发。Stage模型的核心思想是将应用的生命周期、界面布局、事件处理等逻辑进行模块化,以提高开发效率和代码的可维护性。

Stage模型主要由以下几个关键组件构成:

  1. AbilityStage:作为应用的入口点,负责管理应用的生命周期。AbilityStage可以理解为应用的“舞台”,所有的Ability(能力)都在这个舞台上进行展示和交互。

  2. Ability:代表应用的一个具体功能或模块。每个Ability都有自己的生命周期,并且可以独立运行。常见的Ability类型包括PageAbility(页面能力)和ServiceAbility(服务能力)。

  3. PageAbility:用于处理用户界面的显示和交互。PageAbility通常与UI组件(如页面布局、控件等)绑定,负责处理用户的输入和响应。

  4. ServiceAbility:用于处理后台任务或服务。ServiceAbility不直接与用户界面交互,而是执行一些长时间运行的任务,如数据处理、网络请求等。

  5. Context:提供应用运行时的上下文信息,包括资源管理、权限控制等。每个Ability都有一个对应的Context对象,用于获取系统资源或执行系统操作。

在Stage模型中,开发者需要定义AbilityStage和相应的Ability,并通过ArkTS语言实现各个组件的逻辑。通过这种方式,开发者可以更加清晰地组织代码,并且能够更好地管理应用的生命周期和资源。

Stage模型的开发流程通常包括以下几个步骤:

  1. 创建AbilityStage,并定义应用的生命周期回调方法。
  2. 创建PageAbility或ServiceAbility,并实现相应的业务逻辑。
  3. 在Ability中使用Context对象获取系统资源或执行系统操作。
  4. 通过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模型,对于深入理解鸿蒙应用开发架构至关重要。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!