【愚公系列】2023年12月 HarmonyOS教学课程 041-Stage模型(概述和组件配置)
🏆 作者简介,愚公搬代码
🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。
🏆《近期荣誉》:2023年华为云十佳博主,2022年CSDN博客之星TOP2,2022年华为云十佳博主等。
🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
🏆🎉欢迎 👍点赞✍评论⭐收藏
🚀一、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配置文件中配置以下标签:
- deviceTypes:用于标识支持的设备类型。如果在deviceTypes标签中添加了某种设备,表示该Module能够在该设备上运行。
🦋2.6 Module权限配置
在module.json5配置文件中,需要使用requestPermission标签来配置Module访问系统或其他应用的受保护部分所需的权限信息。该标签用于声明需要申请的权限名称、申请权限的原因以及权限使用的场景。
🚀感谢:给读者的一封信
亲爱的读者,
我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。
如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。
我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。
如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。
再次感谢您的阅读和支持!
最诚挚的问候, “愚公搬代码”
- 点赞
- 收藏
- 关注作者
评论(0)