应用级配置在AppScope
目录下的app.json5
配置文件中。
bundleName
:用于标识应用的唯一性。icon
:应用图标label
:应用名称versionCode
:用于标识应用的版本号versionName
:版本号的文字描述{
"app": {
"bundleName": "com.dake.myapplication",
"vendor": "example",
"versionCode": 1000000,
"versionName": "1.0.0",
// 读取resouces/media目录下app_icon
"icon": "$media:app_icon",
// 读取resouces/element目录下string.json文件中的app_name
"label": "$string:app_name"
}
}
Module级配置在Module_Name/src/main
目录下的module.json5
配置文件中。
Ability
Module
支持在该设备上运行。{
"module": {
// module的名称
"name": "entry",
// module的类型
"type": "entry",
"description": "$string:module_desc",
"mainElement": "EntryAbility",
"deviceTypes": [
"phone",
"tablet"
],
"deliveryWithInstall": true,
"installationFree": false,
"pages": "$profile:main_pages",
"abilities": [
{
"name": "EntryAbility",
// 指定UIAbility的类路径
"srcEntry": "./ets/entryability/EntryAbility.ts",
"description": "$string:EntryAbility_desc",
// 入口图标
"icon": "$media:icon",
// 入口名称
"label": "$string:EntryAbility_label",
"startWindowIcon": "$media:icon",
"startWindowBackground": "$color:start_window_background",
"exported": true,
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
]
}
]
}
}
AbilityStage
是一个Module
级别的组件容器:
AbilityStage
实例,可以对该Module
进行初始化等操作。Module
拥有一个AbilityStage
一个Module编译后生成一个HAP文件,详细了解可以查看另一篇博文:HarymonyOS应用程序包介绍
DevEco Studio默认工程中未自动生成AbilityStage,如需要使用AbilityStage的能力,可以手动新建一个AbilityStage文件。
AbilityStage
Module
配置文件module.json5
中配置{
"module": {
// srcEntry指定AbilityStage的类路径
"srcEntry": "./ets/myabilitystage/MyAbilityStage.ets",
}
}
Module
的第一个 UIAbility
实例之前会先创建 AbilityStage,并在 AbilityStage 创建完成之后执行其 onCreate()
生命周期回调。UIAbility
指定实例模式(specified)启动时候触发的事件回调。Configuration
类中。UIAbility
组件是一种包含UI的应用组件,主要用于和用户交互。
UIAbility
组件是系统调度的基本单元,为应用提供绘制界面的窗口。UIAbility
组件UIAbility
的生命周期包括Create、Foreground、Background、Destroy四个状态。
Create状态
为在应用加载过程中,UIAbility
实例创建完成时触发,系统会调用onCreate()
回调。Foreground状态
之前,系统会创建一个WindowStage
。WindowStage
创建完成后会进入onWindowStageCreate()
回调;UIAbility
实例切换至前台时触发onForeground()回调。UIAbility
实例切换至后台时触发onBackground()
回调。Destroy状态
之前,UIAbility
实例销毁之前,先进入WindowStage
的onWindowStageDestroy()
回调;UIAbility
实例销毁时触发onDestroy()
回调。在Module
的配置文件 module.json5
中配置
{
"module": {
"abilities": [
{
"launchType": "singleton"
}
]
}
}
singleton
启动模式为单实例模式,默认启动模式。系统中只存在唯一一个该 UIAbility 实例。multiton
启动模式为多实例模式,每次调用 startAbility()方法时,都会在应用进程中创建一个新的该类型 UIAbility 实例。specified
启动模式为指定实例模式。