- 应用模型是HarmonyOS为开发者提供的应用程序所需能力的抽象提炼,它提供了应用程序必备的组件和运行机制。有了应用模型,开发者可以基于一套统一的模型进行应用开发,使应用开发更简单、高效。
- 随着系统的演进发展,HarmonyOS先后提供了两种应用模型:
2.1 FA(Feature Ability)模型:HarmonyOS早期版本开始支持的模型,已经不再主推。
2.2 Stage模型:HarmonyOS 3.1 Developer Preview版本开始新增的模型,是目前主推且会长期演进的模型。
在该模型中,由于提供了 AbilityStage、WindowStage 等类作为应用组件和Window窗口的“舞台”,因此称这种应用模型为Stage模型。
Stage 模型
1. Stage 模型应用/组件级配置文件
- 基于 Stage 模型创建的工程,有俩个重要的配置文件,一个是应用级的配置文件
app.json5
,另一个是模块级的module.json5
。- app.json5 用于配置整个应用的基本信息,包括应用的包名、开发商、版本号等。
app.json5配置文件- module.json5 用于配置当前模块的各种信息,包括基本信息(例如名称、类型、描述、支持的设备类型等)、Ability 组件信息、所需权限等。
module.json5配置文件- 在鸿蒙应用中,桌面上启动的图标以 UIAbility 为粒度,支持同一个应用存在多个启动图标,点击后会启动对应的 UIAbility,因此桌面图标需要在 module.json5 文件中对应的 Ability 中进行设置。
"abilities": [ { "name": "EntryAbility", "srcEntry": "./ets/entryability/EntryAbility.ets", "description": "$string:EntryAbility_desc", "icon": "$media:layered_image", "label": "$string:EntryAbility_label", } ]
- 设置界面中的应用图标是以应用为粒度的,每个应用只能设置一个,需要在 app.json5 文件中配置。
{ "app": { "bundleName": "com.example.englishpractice", "vendor": "example", "versionCode": 1000000, "versionName": "1.0.0", "icon": "$media:splash_logo3", "label": "$string:app_name" } }
2 Stage 模型提供的 UIAbility 组件
UIAbility 组件生命周期函数