AbilityStage组件容器介绍

前言:

        UIAbility组件:是一种包含UI的应用组件,主要用于和用户交互。

        ExtensionAbility组件:是基于特定场景(例服务卡片、输入法等)提供的应用组件。每一个具体场景对应一个ExtensionAbilityType,开发者只能使用系统已定义的模型。

        HAP:应用安装的基本单位。

        AbilityStage:Module级别的组件容器,与HAP是一一对应的关系。

        应用组件与窗口生命周期分离:

        1、业务逻辑和UI逻辑分离

        2、便于系统对应组件进行裁剪

        3、在多设备上,应用组件可使用同一套生命周期

一、AbilityStage的定义和能力

        1、定义

        Module级别的组件容器,是HAP的运行期类

        2、能力

        a、onCreate():AbilityStage实例创建完成后触发的回调函数

        b、onAcceptWant():指定实例模式的UIAbility组件启动时触发的回调函数

        c、onConfigurationUpdated():系统发生全局配置变化时的回调函数

        d、onMemoryLevel():系统决定调整内存时的回调函数

二、AbilityStage的创建和使用

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

        

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

        

        3、打开MyAbilityStage.ts文件,导入AbilityStage的依赖包,自定义类继承AbilityStage并加上需要的生命周期回调 

import { AbilityStage, Want } from '@kit.AbilityKit';

export default class MyAbilityStage extends AbilityStage {
  onCreate(): void {
    // 应用的HAP在首次加载的时,为该Module初始化操作
  }

  onAcceptWant(want: Want): string {
    // 仅specified模式下触发
    return 'MyAbilityStage';
  }
}

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值