首页 > 编程笔记 > 通用技能 阅读:1

鸿蒙Stage模型详解(新手边看)

应用模型是系统为开发者提供的应用程序所需能力的抽象提炼,它提供了应用程序必备的组件和运行机制。有了应用模型,开发者可以基于一套统一的模型进行应用开发,使应用开发更加简单、高效。

Ability Kit(程序框架服务)提供了应用程序开发和运行的应用模型。可以简单地将 Ability Kit 理解为一个舞台,程序的开发以及运行都在这个舞台上进行。这个舞台只负责大的方向,比如搭建(创建)、拆除(销毁)、整个舞台的排班等。

具体来看,Ability Kit 具有以下功能:
UIAbility 与 Ability Kit 的关系是,Ability Kit 在 UIAbility 组件中可以使用 ArkUI 提供的组件、事件、动效、状态管理等能力。

Stage模型的概念图

Stage 模型的概念图如下图所示:


图 1 Stage模型的概念图

Stage 模型支持 UIAbility 和 ExtensionAbility 两种组件,分别用于 UI 交互和特定场景的应用。

UIAbility 组件负责展示和用户互动的 UI,如图片选择,并通过 WindowStage 事件管理生命周期。

而 ExtensionAbility 组件为特定功能提供模板,如卡片、输入法或任务调度,开发者需派生特定类并实现回调。这些组件由系统管理,开发者需根据业务场景使用派生类实现功能。

UIAbility 实例与 WindowStage 绑定,通过它来控制主窗口,为 ArkUI 提供绘制区域。Stage 模型中的 Context 提供运行时资源和能力,不同组件的 Context 类继承自基类 Context 并提供各自的功能。每个 HAP 在运行期都有一个 AbilityStage 实例,负责管理和控制 HAP 的运行。

应用/组件级配置

在开发应用时,需要配置一些标签,例如应用的包名、图标等。接下来将会讲解在开发应用时需要配置的一系列关键标签。

1) 应用包名配置

应用需要在工程的 AppScope 目录下的 app.json5 配置文件中配置 bundleName 标签,该标签用于标识应用的唯一性。推荐采用反域名形式命名,如 com.example.demo,建议第一级为域名后缀 com,第二级为厂商/个人名,第三级为应用名,也可以多级。

当然,bundleName 标签可以在创建应用的时候直接输入,如下图所示:


图 2 bundleName标签创建时的位置

当需要修改时,可以在工程的 AppScope 目录下的 app.json5 配置文件中进行修改,如下图所示:


图 3 app.json5与bundleName的位置

2) 图标和标签配置

图标和标签通常一起配置,可以分为应用图标、应用标签和入口图标、入口标签,分别对应 app.json5 配置文件和 module.json5 配置文件中的 icon 和 label 标签。

接下来配置一下应用图标、应用标签和入口图标、入口标签。

找到 app.json5 和 module.json5。下图中箭头所标识的就是修改应用图标以及应用标签的文件。


图 4 修改应用图标及应用标签的文件

下图中箭头所标识的就是修改入口图标和入口标签的文件:


图 5 修改入口图标和入口标签的文件

3) 应用图标和标签配置

将下图作为应用图标和入口图标进行配置,以方便查看:


图 6 图标

首先在 string.json 中配置应用的标签,如下图所示:


图 7 在string.json中配置应用的标签

然后将应用图标放到 media 文件中,再在 app.json5 中进行引用,如下图所示:


图 8 在app.json5中引用

配置完成后运行到手机上进行查看,如下图所示:


图 9 手机查看配置效果

注意,打包时需要进行签名,我们可以使用自动签名查看效果,具体操作如下:
生成的自动签名如下图所示:


图 10 生成的自动签名

4) 入口图标和标签配置

入口图标的配置与应用图标的配置类似,直接将入口图标放到 media 文件中,然后在 module.json5 中引用即可,如下图所示:


图 11 在module.json5中引用入口图标

入口标签的配置稍微有些烦琐,从图 11 中可以看到,在 resources 文件夹下有两个文件夹,分别是 zh_CN 和 en_US,这两个文件分别代表着中文配置和英文配置;在 base 文件夹下有一个 element 文件,如果想要配置入口标签名,需要在 element 文件下的 string.json 文件中建立索引,而它的索引会在不同的环境下查找 zh_CN、en_US 这两个文件下的内容进行展示,如下图所示。


图 12 查找zh_CN、en_US两个文件下的内容

配置完成后单击运行按钮进行查看,如下图所示:


图 13 配置完成后的效果

相关文章