鸿蒙HarmonyOS实战-Stage模型(概述和组件配置)
🚀一、Stage模型概述和组件
🔎1.Stage模型概述
HarmonyOS的Stage模型是其应用程序的核心概念之一,它提供了一种灵活的方式来管理应用程序的生命周期和界面管理。
Stage模型由以下几个主要组件组成:
-
应用程序:每个应用程序被视为一个Stage,它可以包含一个或多个窗口,每个窗口都可以显示一个或多个界面。
-
窗口:窗口是应用程序中的一个独立区域,可以包含一个或多个界面。
-
界面:界面是窗口中的一个特定内容区域,用于显示应用程序的用户界面。每个界面都可以包含一个或多个组件。
-
组件:组件是界面中的可视化元素,例如按钮、文本框、图像等。通过组合不同的组件,可以构建出丰富多样的用户界面。
Stage模型的主要特点包括:
-
多窗口管理:一个应用程序可以同时管理多个窗口,每个窗口可以显示不同的界面内容,用户可以自由切换和操作窗口。
-
灵活布局:界面中的组件可以通过布局管理器进行灵活的排列和布局,以适应不同屏幕尺寸和设备方向的变化。
-
生命周期管理:应用程序和窗口都有自己的生命周期,可以响应不同的生命周期事件,例如创建、启动、暂停、恢复和销毁等。
通过Stage模型,HarmonyOS提供了一种统一的方式来管理应用程序的界面和生命周期,使开发者能够更容易地构建和管理复杂的应用程序。
Stage模型是HarmonyOS多端统一的应用开发框架中的一个核心概念,用于描述应用的界面层次结构和组件之间的关系。它主要包含UIAbility组件和ExtensionAbility组件、WindowStage、Context和AbilityStage。
- UIAbility组件和ExtensionAbility组件:
- UIAbility组件是应用中负责绘制用户界面的组件,通过创建UIAbility组件可以实现应用的界面展示和用户交互的功能。
- ExtensionAbility组件是一种非UI能力的组件,用于提供后台处理任务、访问系统资源、与外部设备交互等功能,与UIAbility组件相互配合完成应用的功能。
- WindowStage:
- WindowStage是应用界面的顶层容器,它负责管理应用界面的显示和布局。
- WindowStage可以包含一个或多个UIAbility组件,并负责协调它们之间的界面切换和交互。
- Context:
- Context是应用界面的上下文环境,可以通过Context对象获取应用的资源、系统服务和应用数据等。
- 在WindowStage中的每个UIAbility组件都对应一个Context对象,用于提供界面相关的上下文信息。
- AbilityStage:
- AbilityStage是HarmonyOS应用的生命周期管理容器,它负责管理应用的各个阶段(如创建、启动、暂停、恢复、停止等)。
- AbilityStage可以包含一个或多个WindowStage,用于管理多个应用界面的生命周期和切换。
🔎2.Stage模型组件配置
🦋2.1 应用包名配置
应用需要在工程的AppScope目录下的app.json5配置文件中配置bundleName标签。该标签用于标识应用的唯一性。推荐采用反域名形式命名,例如com.example.demo。建议第一级为域名后缀com,第二级为厂商/个人名,第三级为应用名,也可以多级。
🦋2.2 应用图标和标签配置
Stage模型的应用需要配置应用图标和应用标签。
- 应用图标:
应用图标需要在工程的AppScope目录下的app.json5配置文件中配置icon标签。配置为图片资源的索引,配置完成后,该图片即为应用的图标。
- 应用标签:
应用标签需要在工程的AppScope模块下的app.json5配置文件中配置label标签。用于标识应用对用户显示的名称,需要配置为字符串资源的索引。
应用图标和标签在设置应用中使用。例如,在应用列表中设置应用时,会显示出对应的图标和标签。
🦋2.3 入口图标和标签配置
入口图标需要在module.json5配置文件中进行配置。在abilities标签下面可以找到icon标签。例如,如果希望在桌面上显示该UIAbility的图标,则需要在skills标签下的entities中添加"entity.system.home",在actions标签中添加"action.system.home"。如果同一个应用有多个UIAbility,并且配置了上述字段,那么在桌面上会显示出多个图标,分别对应各自的UIAbility。
🦋2.4 应用版本声明配置
应用版本声明需要在工程的AppScope目录下的app.json5配置文件中配置以下标签:
- versionCode:用于标识应用的版本号,该标签值为32位非负整数。
- versionName:标识版本号的文字描述。
🦋2.5 Module支持的设备类型配置
Module支持的设备类型需要在module.json5配置文件中配置以下标签:
1.deviceTypes:用于标识支持的设备类型。如果在deviceTypes标签中添加了某种设备,表示该Module能够在该设备上运行。
🦋2.6 Module权限配置
在module.json5配置文件中,需要使用requestPermission标签来配置Module访问系统或其他应用的受保护部分所需的权限信息。该标签用于声明需要申请的权限名称、申请权限的原因以及权限使用的场景。
🚀写在最后
- 如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
- 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
- 关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。
- 更多鸿蒙最新技术知识点,请关注作者博客:https://t.doruo.cn/14DjR1rEY