鸿蒙HarmonyOS实战-Stage模型(AbilityStage组件容器)

🚀前言

组件容器是一种用于管理和组织组件的工具或环境。它可以提供一些基本的功能,如组件的注册、创建、销毁和查找。组件容器通常会维护一个组件的依赖关系,并负责将这些依赖注入到组件中。它还可以提供一些其他的功能,如生命周期管理、事件通知、配置管理等。通过使用组件容器,开发者可以更方便地管理和使用组件,提高代码的可维护性和可复用性。

🚀一、AbilityStage组件容器

🔎1.AbilityStage的概念

AbilityStage是HarmonyOS中的组件容器。它是一个用于管理和显示应用程序页面的容器,类似于Android中的Activity或iOS中的ViewController。AbilityStage可以包含多个Ability(能力),每个Ability都代表着应用程序中的一个页面或功能。

通过AbilityStage,应用程序可以实现页面之间的切换、页面的生命周期管理、事件的分发和处理等功能。它具有以下特点:

  1. 生命周期管理:AbilityStage可以管理Ability的生命周期,包括创建、启动、暂停、恢复和销毁等,以确保页面的正常运行。

  2. 导航能力:AbilityStage提供了页面之间的导航能力,可以方便地进行页面切换和跳转。

  3. 事件处理:AbilityStage可以分发和处理应用程序中的各种事件,如触摸事件、按键事件等。

  4. 布局管理:AbilityStage可以根据应用程序的布局要求,对Ability进行布局管理,实现灵活的页面布局。

AbilityStage与Module一一对应,即一个Module拥有一个AbilityStage。

🔎2.AbilityStage的使用

1、在工程Module对应的ets目录下,右键选择"New > Directory",新建一个目录并命名为myabilitystage。

2、在myabilitystage目录,右键选择"New > TypeScript File",新建一个TypeScript文件并命名为MyAbilityStage.ts。

3、打开MyAbilityStage.ts文件,导入AbilityStage的依赖包,自定义类继承AbilityStage并加上需要的生命周期回调,示例中增加了一个onCreate()生命周期回调。

import AbilityStage from '@ohos.app.ability.AbilityStage';

export default class MyAbilityStage extends AbilityStage {
  onCreate() {
    // 应用的HAP在首次加载的时,为该Module初始化操作
  }
  onAcceptWant(want) {
    // 仅specified模式下触发
    return "MyAbilityStage";
  }
}

4、在module.json5配置文件中,通过配置srcEntry参数来指定模块对应的代码路径,以作为HAP加载的入口。

{
  "module": {
    "name": "entry",
    "type": "entry",
    "srcEntry": "./ets/myabilitystage/MyAbilityStage.ts",
    ...
  }
}

AbilityStage拥有生命周期/事件回调:

🚀写在最后

  • 如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
  • 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
  • 关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。
  • 更多鸿蒙最新技术知识点,请关注作者博客:https://t.doruo.cn/14DjR1rEY
相关推荐
踏雪Vernon2 分钟前
[OpenHarmony5.0][Docker][环境]OpenHarmony5.0 Docker编译环境镜像下载以及使用方式
linux·docker·容器·harmonyos
Andy醒4 小时前
HarmonyOS . 沉浸状态栏使用
harmonyos·鸿蒙
yuwinter4 小时前
鸿蒙HarmonyOS学习笔记(2)
笔记·学习·harmonyos
jikuaidi6yuan6 小时前
鸿蒙系统(HarmonyOS)分布式任务调度
分布式·华为·harmonyos
️ 邪神12 小时前
【Android、IOS、Flutter、鸿蒙、ReactNative 】自定义View
flutter·ios·鸿蒙·reactnative·anroid
SameX13 小时前
HarmonyOS Next 安全生态构建与展望
前端·harmonyos
SameX13 小时前
HarmonyOS Next 打造智能家居安全系统实战
harmonyos
Random_index21 小时前
#Uniapp篇:支持纯血鸿蒙&发布&适配&UIUI
uni-app·harmonyos
鸿蒙自习室1 天前
鸿蒙多线程开发——线程间数据通信对象02
ui·harmonyos·鸿蒙