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配置文件中配置以下标签:
- deviceTypes:用于标识支持的设备类型。如果在deviceTypes标签中添加了某种设备,表示该Module能够在该设备上运行。
🦋2.6 Module权限配置
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!