组件容器是一种用于管理和组织组件的工具或环境。它可以提供一些基本的功能,如组件的注册、创建、销毁和查找。组件容器通常会维护一个组件的依赖关系,并负责将这些依赖注入到组件中。它还可以提供一些其他的功能,如生命周期管理、事件通知、配置管理等。通过使用组件容器,开发者可以更方便地管理和使用组件,提高代码的可维护性和可复用性。
一、AbilityStage组件容器
1.AbilityStage的概念
AbilityStage是HarmonyOS中的组件容器。它是一个用于管理和显示应用程序页面的容器,类似于Android中的Activity或iOS中的ViewController。AbilityStage可以包含多个Ability(能力),每个Ability都代表着应用程序中的一个页面或功能。
通过AbilityStage,应用程序可以实现页面之间的切换、页面的生命周期管理、事件的分发和处理等功能。它具有以下特点:
- 生命周期管理:AbilityStage可以管理Ability的生命周期,包括创建、启动、暂停、恢复和销毁等,以确保页面的正常运行。
- 导航能力:AbilityStage提供了页面之间的导航能力,可以方便地进行页面切换和跳转。
- 事件处理:AbilityStage可以分发和处理应用程序中的各种事件,如触摸事件、按键事件等。
- 布局管理: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拥有生命周期/事件回调:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!