鸿蒙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
相关推荐
Hello__777718 小时前
开源鸿蒙 Flutter 实战|消息通知功能完整实现
flutter·开源·harmonyos
敲代码的鱼哇20 小时前
发送短信/拨打电话/获取联系人能力 UTS 插件(cz-sms)
android·前端·ios·uni-app·安卓·harmonyos·鸿蒙
Hello__777720 小时前
开源鸿蒙 Flutter 实战|仓库评论与点赞功能完整实现
flutter·开源·harmonyos
代码飞天20 小时前
harmonyOS开发之页面跳转
华为·harmonyos
ancktion20 小时前
鸿蒙开发环境配置搭建
华为·harmonyos
nashane21 小时前
HarmonyOS 6学习:加密一致性与安全存储——AES GCM排查与SaveButton实践
学习·安全·harmonyos·harmony app
liulian09161 天前
【Flutter for OpenHarmony第三方库】Flutter for OpenHarmony 音频播放功能适配与实现指南
flutter·华为·音视频·学习方法·harmonyos
KIHU快狐1 天前
快狐KIHU|86寸落地触控一体机G+G电容屏HarmonyOS鸿蒙酒吧查询终端
python·华为·harmonyos
SuperHeroWu71 天前
【小艺Claw】鸿蒙龙虾是什么?如何接入和使用?
华为·harmonyos·鸿蒙·jiuwenclaw·小艺claw
Lanren的编程日记1 天前
Flutter 鸿蒙应用机器学习功能集成实战:TFLite兼容框架+模拟推理引擎,打造端侧智能体验
flutter·华为·harmonyos·推荐算法