【愚公系列】2023年12月 HarmonyOS教学课程 049-Stage模型(AbilityStage组件容器)

在这里插入图片描述

🏆 作者简介,愚公搬代码
🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。
🏆《近期荣誉》:2023年华为云十佳博主,2022年CSDN博客之星TOP2,2022年华为云十佳博主等。
🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
🏆🎉欢迎 👍点赞✍评论⭐收藏

文章目录

  • 🚀前言
  • 🚀一、AbilityStage组件容器
    • 🔎1.AbilityStage的概念
    • 🔎2.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拥有生命周期/事件回调:

回调类型描述
onCreate()在AbilityStage创建完成之后执行,用于进行Module的初始化
onAcceptWant()UIAbility指定实例模式启动时触发的事件回调
onConfigurationUpdated()系统全局配置发生变更时触发的事件回调
onMemoryLevel()系统调整内存时触发的事件

🚀感谢:给读者的一封信

亲爱的读者,

我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。

如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。

我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。

如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。

在这里插入图片描述

再次感谢您的阅读和支持!

最诚挚的问候, “愚公搬代码”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/301955.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

护眼灯哪个品牌最好?2024年十大护眼灯品牌排行榜

由于科技水平的提高和电子产品的普及,儿童青少年的近视率正逐年攀升,出现低龄化现象,面对眼健康问题的严峻形势,我们应该还有爱眼意识、加强眼健康知识普及!现在呢,护眼台灯被越来越多的人发现了&#xff0…

【设计模式】解释器模式

一起学习设计模式 目录 前言 一、概述 二、结构 三、案例实现 四、优缺点 五、使用场景 总结 前言 【设计模式】——行为型模式。 一、概述 如上图,设计一个软件用来进行加减计算。我们第一想法就是使用工具类,提供对应的加法和减法的工具方法。 …

C++类与对象基础(5)——日期类的实现

对于实现日期类中需要用到的例如:构造函数,析构函数,运算符重载等内容,已经在前面几篇文章中进行介绍,故本文只给出关于类和对象中日期类的代码实现,对于代码的原理不给予详细的解释: 1.头文件…

[VUE]1-创建vue工程

目录 基于脚手架创建前端工程 1、环境要求 2、操作过程 3、工程结构 4、启动前端服务 🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发、数据结构和算法&#xff0c…

Commander One for Mac:强大的双窗格文件管理器,让你的工作效率倍增!

Commander One for Mac是一款功能强大的文件管理工具,具有以下主要功能: 双窗格设计:主界面分为两个窗格,用户可以在左侧窗格中导航和浏览文件系统的目录结构,在右侧窗格中查看文件和文件夹的内容。文件操作&#xff…

Java:结束本机端口被占用进程

前言 在实际开发当中我们,往往在idea中将某个服务的启动给关闭了,但是在nacos的某个服务上,我们却可以看到本地别名服务还是在上面挂载着本地再次启动的时候就提示【端口被占用】,今天就说一下如何解决这个问题 操作 点击即可预…

C++_命令行操作

命令行操作 介绍第一步编译 源码第二部 找到exe 可执行文件第三步看图操作代码测试源码测试结果 介绍 本文介绍命令行操作 1.argc 表示当前输入 参数个数 2.argv 表示当前输入 字符串内容 第一步编译 源码 #include<iostream> #include<string>using namespace st…

el-table 展开行表格,展开的内容高度可以变化时,导致的固定列错位的问题

问题描述 一个可展开的表格&#xff08;列设置了type“expand”&#xff09;&#xff0c;并且展开后的内容高度可以变化&#xff0c;会导致后面所有行的固定列错位&#xff0c;图如下&#xff0c;展示行中是一个树形表格&#xff0c;默认不展示子级&#xff0c;点击树形表格的…

R4S软路由如何在iStoreOS后配置远程桌面本地电脑公网地址

文章目录 简介一、配置远程桌面公网地址二、家中使用永久固定地址 访问公司电脑**具体操作方法是&#xff1a;** 正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的 人工智能学习网站&#xff0c; 通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家…

斑马斑马跳

欢迎来到程序小院 斑马斑马跳 玩法&#xff1a;行走的斑马&#xff0c;点击鼠标左键斑马左右跳动&#xff0c;左右两侧有大树&#xff0c;和移动的小鸟&#xff0c; 撞到大树和小鸟游戏结束&#xff0c;统计分数&#xff0c;快去斑马跳吧^^。开始游戏https://www.ormcc.com/pl…

项目总体测试计划书

一、 前言 &#xff08;一&#xff09; 背景 &#xff08;二&#xff09; 目的 &#xff08;三&#xff09; 测试目标 &#xff08;四&#xff09; 适用范围与读者对象 &#xff08;五&#xff09; 术语与缩写 二、 软件测试实施流程 &#xff08;一&#xff09; 测试工作总体流…

系统编程--VIM特辑

这里写目录标题 vim三种工作模式进入文本模式的快捷键在命令模式下进行文本编辑删除快捷键复制粘贴查找替换查找替换 vim其他操作 vim打造简易IDE vim 三种工作模式 具体可见第二章对vim的详细介绍 需要注意的是&#xff0c;在末行模式下执行完一次命令&#xff0c;就可以直接…

RTTI结构详细分析(VC++)

对于RTTI结构的资料真的屈指可数,类的逆向也一直是一个不好弄的问题.对此我只想贡献我的一份力量。 文中我不会分析类的内存布局,因为有很多资料已经分析的挺好的了(见参考资料)。但是现有我能找到的资料对RTTI结构的表述不完整,或者表述模糊不清,参考Clang的部分源码后&#…

什么是VR、AR、MR、XR?

VR、AR、MR、XR的定义 VR虚拟现实是利用计算机技术创造虚拟世界&#xff0c;用户可以通过穿戴VR设备&#xff0c;进入虚拟现实的环境&#xff0c;感受身临其境的体验。 AR增强现实技术是将现实和虚拟世界结合在一起&#xff0c;用户可以通过手机、平板电脑等设备&#xff0c;看…

Weblogic安全漫谈(四)

黑名单机制必然会推动两种研究方向的发展&#xff1a;一是挖掘不在黑名单的新组件&#xff0c;是为绕过规则&#xff1b;二是发掘检查的盲区&#xff0c;是为绕过逻辑。 CVE-2020-14756 二次反序列化具有对抗检查逻辑的天生丽质&#xff0c;在CVE-2018-2893中就有利用字节数组…

文件夹重命名:如何一键完成简体中文文件夹名到繁体中文的批量转换

随着科技的发展&#xff0c;人类越来越依赖计算机和电子设备进行文件管理。在这个过程中&#xff0c;经常会遇到要将简体中文文件夹名转换为繁体中文的情况。这有助于统一文件名的格式&#xff0c;也能提高文件的可读性和检索性。那如何一键完成简体中文文件夹名到繁体中文的批…

【精通C语言】:分支结构switch语句的灵活运用

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; C语言详解 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一、switch语句1.1 语法1.2 代码示例 二、switch的控制语句2.1 break2.2 defualt子句 三、…

前端下载文件问题之如何获取报错信息

问题&#xff1a;点击下载后。接口会生成并返回文件流。在极端情况下接口数据返回异常&#xff0c;需要抛出错误信息&#xff0c;比如后端拼接错误情况、空文件情况。 难点&#xff1a;responseType设置为Blob后&#xff0c;返回内容为二进制文件流&#xff0c;从而无法获取错误…

03、Kafka ------ CMAK(Kafka 图形界面管理工具) 下载、安装、启动

目录 CMAK&#xff08;Kafka 图形界面管理工具&#xff09;下载安装启动打开 cmak 图形界面 CMAK&#xff08;Kafka 图形界面管理工具&#xff09; Kafka本身并没有提供Web管理工具&#xff0c;而是推荐使用bin目录下各种工具命令来管理Kafka&#xff0c; 这些工具命令其实用起…

安达发|基于APS排程系统的PDM功能

APS系统&#xff08;Advanced Planning and Scheduling&#xff0c;先进计划与排程&#xff09;是一种基于APS系统&#xff08;Advanced Planning and Scheduling&#xff0c;先进计划与排程&#xff09;是一种基于供应链管理和生产管理的综合性软件系统。它通过整合企业内外部…