【愚公系列】2023年12月 HarmonyOS教学课程 041-Stage模型(概述和组件配置)

news2024/11/24 19:15:38

在这里插入图片描述

🏆 作者简介,愚公搬代码
🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。
🏆《近期荣誉》:2023年华为云十佳博主,2022年CSDN博客之星TOP2,2022年华为云十佳博主等。
🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
🏆🎉欢迎 👍点赞✍评论⭐收藏

文章目录

  • 🚀一、Stage模型概述和组件
    • 🔎1.Stage模型概述
    • 🔎2.Stage模型组件配置
      • 🦋2.1 应用包名配置
      • 🦋2.2 应用图标和标签配置
      • 🦋2.3 入口图标和标签配置
      • 🦋2.4 应用版本声明配置
      • 🦋2.5 Module支持的设备类型配置
      • 🦋2.6 Module权限配置
  • 🚀感谢:给读者的一封信


🚀一、Stage模型概述和组件

🔎1.Stage模型概述

HarmonyOS的Stage模型是其应用程序的核心概念之一,它提供了一种灵活的方式来管理应用程序的生命周期和界面管理。

Stage模型由以下几个主要组件组成:

  1. 应用程序:每个应用程序被视为一个Stage,它可以包含一个或多个窗口,每个窗口都可以显示一个或多个界面。

  2. 窗口:窗口是应用程序中的一个独立区域,可以包含一个或多个界面。

  3. 界面:界面是窗口中的一个特定内容区域,用于显示应用程序的用户界面。每个界面都可以包含一个或多个组件。

  4. 组件:组件是界面中的可视化元素,例如按钮、文本框、图像等。通过组合不同的组件,可以构建出丰富多样的用户界面。

Stage模型的主要特点包括:

  1. 多窗口管理:一个应用程序可以同时管理多个窗口,每个窗口可以显示不同的界面内容,用户可以自由切换和操作窗口。

  2. 灵活布局:界面中的组件可以通过布局管理器进行灵活的排列和布局,以适应不同屏幕尺寸和设备方向的变化。

  3. 生命周期管理:应用程序和窗口都有自己的生命周期,可以响应不同的生命周期事件,例如创建、启动、暂停、恢复和销毁等。

通过Stage模型,HarmonyOS提供了一种统一的方式来管理应用程序的界面和生命周期,使开发者能够更容易地构建和管理复杂的应用程序。

在这里插入图片描述
Stage模型是HarmonyOS多端统一的应用开发框架中的一个核心概念,用于描述应用的界面层次结构和组件之间的关系。它主要包含UIAbility组件和ExtensionAbility组件、WindowStage、Context和AbilityStage。

  1. UIAbility组件和ExtensionAbility组件:

    • UIAbility组件是应用中负责绘制用户界面的组件,通过创建UIAbility组件可以实现应用的界面展示和用户交互的功能。
    • ExtensionAbility组件是一种非UI能力的组件,用于提供后台处理任务、访问系统资源、与外部设备交互等功能,与UIAbility组件相互配合完成应用的功能。
  2. WindowStage:

    • WindowStage是应用界面的顶层容器,它负责管理应用界面的显示和布局。
    • WindowStage可以包含一个或多个UIAbility组件,并负责协调它们之间的界面切换和交互。
  3. Context:

    • Context是应用界面的上下文环境,可以通过Context对象获取应用的资源、系统服务和应用数据等。
    • 在WindowStage中的每个UIAbility组件都对应一个Context对象,用于提供界面相关的上下文信息。
  4. AbilityStage:

    • AbilityStage是HarmonyOS应用的生命周期管理容器,它负责管理应用的各个阶段(如创建、启动、暂停、恢复、停止等)。
    • AbilityStage可以包含一个或多个WindowStage,用于管理多个应用界面的生命周期和切换。

🔎2.Stage模型组件配置

🦋2.1 应用包名配置

应用需要在工程的AppScope目录下的app.json5配置文件中配置bundleName标签。该标签用于标识应用的唯一性。推荐采用反域名形式命名,例如com.example.demo。建议第一级为域名后缀com,第二级为厂商/个人名,第三级为应用名,也可以多级。

在这里插入图片描述

🦋2.2 应用图标和标签配置

Stage模型的应用需要配置应用图标和应用标签。

  1. 应用图标:
    应用图标需要在工程的AppScope目录下的app.json5配置文件中配置icon标签。配置为图片资源的索引,配置完成后,该图片即为应用的图标。

  2. 应用标签:
    应用标签需要在工程的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配置文件中配置以下标签:

  1. versionCode:用于标识应用的版本号,该标签值为32位非负整数。
  2. versionName:标识版本号的文字描述。

在这里插入图片描述

🦋2.5 Module支持的设备类型配置

Module支持的设备类型需要在module.json5配置文件中配置以下标签:

  1. deviceTypes:用于标识支持的设备类型。如果在deviceTypes标签中添加了某种设备,表示该Module能够在该设备上运行。

在这里插入图片描述

🦋2.6 Module权限配置

在module.json5配置文件中,需要使用requestPermission标签来配置Module访问系统或其他应用的受保护部分所需的权限信息。该标签用于声明需要申请的权限名称、申请权限的原因以及权限使用的场景。

在这里插入图片描述


🚀感谢:给读者的一封信

亲爱的读者,

我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。

如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。

我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。

如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。

在这里插入图片描述

再次感谢您的阅读和支持!

最诚挚的问候, “愚公搬代码”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1589847.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年第十四届 Mathorcup (A题)| PCI 规划问题 | 混淆矩阵 目标规划 |数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2022年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题。 让我们来看看Mathorcup (A题)! CS团队…

VBA_MF系列技术资料1-505

MF系列VBA技术资料1-505 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧,我参考大量的资料,并结合自己的经验总结了这份MF系列VBA技术综合资料,而且开放源码(MF04除外),其中MF01-0…

halcon 两图叠加 显示

halcon 两图叠加 显示 代码 read_image (Image, E:/test/CameraWeldHead/二号机焊头图片.bmp) read_image (Image1, E:/test/CameraWeldHead/右1.bmp) mirror_image (Image1, ImageMirror, column)crop_part (Image, ImagePart1, 0, 0, 4096, 4096) crop_part (ImageMirror, …

【40分钟速成智能风控9】风控大数据体系

目录 ​编辑 风控大数据体系 数据源类型 征信报告 信息概要 信贷交易信息明细 公共信息明细 查询记录 消费能力 资产状况 基本信息 多头借贷 运营商 地理位置 设备属性 操作行为 风控大数据体系 数据是一切模型的基础,智能风控模型最大的优势&…

js性能优化(五)

第五章开始啦~~~~~~~~~~~~~ 防抖和节流之前自己有学过一次,包括几种方式怎么实现,代码如何写花了两天有写过,这次算是更系统的一个复习加填补 十七、防抖与节流 为什么需要防抖和节流: 在一些高频率事件触发的场景下我们不希望…

PSpice软件快速入门系列--如何进行AC Sweep交流扫描

背景介绍:PSpice仿真分析类型通常有四种,分别是时域分析、直流特性扫描、交流特性扫描/噪声分析、直流工作点计算。交流扫描分析是线性分析,可对电路性能因输入信号频率不同而变化的过程进行分析,获得电路的幅频响应和相频特性以及…

探索工业AI智能摄像机的卓越性能!

​ 在当今快速发展的工业智能化领域,上海晶珩的工业AI智能摄像机系列以其卓越的性能和多功能性在国内外备受关注(文末有国外工程师的评测链接)。搭载Raspberry Pi CM4支持的ED-AIC2000和ED-AIC2100系列旨在广泛应用,涵盖从简单的条…

俄罗斯yandex广告推广如何投放?

俄罗斯作为欧亚大陆的重要经济体,拥有庞大的互联网用户基数,其中Yandex作为该地区最主要的搜索引擎,无疑是触及目标客户群的关键渠道。云衔科技凭借专业优势与实战经验,为企业提供一站式Yandex广告开户及全程代运营解决方案&#…

MySQL 04-EMOJI 表情与 UTF8MB4 的故事

拓展阅读 MySQL View MySQL truncate table 与 delete 清空表的区别和坑 MySQL Ruler mysql 日常开发规范 MySQL datetime timestamp 以及如何自动更新,如何实现范围查询 MySQL 06 mysql 如何实现类似 oracle 的 merge into MySQL 05 MySQL入门教程&#xff0…

【Android surface 】二:源码分析App的surface创建过程

文章目录 画布surfaceViewRoot的创建&setView分析setViewrequestLayoutViewRoot和WMS的关系 activity的UI绘制draw surfacejni层分析Surface无参构造SurfaceSessionSurfaceSession_init surface的有参构造Surface_copyFromSurface_writeToParcelSurface_readFromParcel 总结…

从商品图到海报生成 京东广告AIGC创意技术应用

一、前言 电商广告图片不仅能够抓住消费者的眼球,还可以传递品牌核心价值和故事,建立起与消费者之间的情感联系。然而现有的广告图片大多依赖人工制作,存在效率和成本的限制。尽管最近 AIGC 技术取得了卓越的进展,但其在广告图片…

嵌入式中常用的巧妙方法 - (汇总)

概述 做项目&#xff0c;掌握以下方法&#xff0c;可提高开发效率&#xff0c;把时间全部放在需求上。 1、快速获取结构体成员大小 #include <stdio.h> // 获取结构体成员大小 #define GET_MEMBER_SIZE(type, member) sizeof(((type*)0)->member)// 获取结构体成…

2024 大模型面试指南:兄弟们,冲啊

前言 老宋这俩月又跳槽了&#xff0c;自从去年从百度出来来到新公司&#xff0c;躺了一年&#xff0c;最近因为大模型技术发展&#xff0c;重新有了奋斗的方向和动力。 大模型的诞生必然会重塑整个 NLP 方向&#xff0c;因此&#xff0c;必须参与到这波浪潮中&#xff0c;果然…

HTTP快速面试笔记(速成版)

文章目录 1. HTTP概述1.1 HTTP简介1.2 HTTP的版本1.3 URL语法简介 2. HTTP报文2.1 HTTP报文格式2.2 HTTP的方法&#xff08;Method&#xff09;2.3 HTTP响应码2.4 HTTP请求头与响应头 3. HTTPS详解3.1 HTTPS介绍3.2 与HTTPS相关的加解密知识3.3 HTTPS交互流程 参考资料 1. HTTP…

2 万字 42 道Java经典面试题总结(2024修订版)- Java集合篇

目录 1、Java中常用的集合有哪些&#xff1f;2、Collection 和 Collections 有什么区别&#xff1f;3、为什么集合类没有实现 Cloneable 和 Serializable 接口&#xff1f;4、数组和集合有什么本质区别&#xff1f;5、数组和集合如何选择&#xff1f;6、list与Set区别7、HashMa…

基于深度学习的人脸表情识别系统(PyQT+代码+训练数据集)

基于深度学习的人脸表情识别系统&#xff08;PyQT代码训练数据集&#xff09; 前言一、数据集1.1 数据集介绍1.2 数据预处理 二、模型搭建三、训练与测试3.1 模型训练3.2 模型测试 四、PyQt界面实现 前言 本项目是基于mini_Xception深度学习网络模型的人脸表情识别系统&#x…

el-upload文件缩略图只显示一张图片

采用elementui库vue2版本&#xff0c;flask后端 el-upload组件上传一张图片之后不在出现新增加号 可以实现

基于公共转点的Alpha shapes有序边缘点提取

1、原理介绍 由Edelsbrunner H提出的alpha shapes算法是一种简单、有效的快速提取边界点算法。其克服了点云边界点形状影响的缺点,可快速准确提取边界点,其原理如下:对于任意形状的平面点云,若一个半径为a的圆,绕其进行滚动,其滚动的轨迹形成的点为轮廓点。需要注意的是,…

深入理解计算机系统 家庭作业 2.84

这题没有这个要求所以可以用 ? > : < 这种运算 以下代码用的是位级运算.因为我误解了题意 呜呜呜 想看用判断的代码请自行百度 ((((ux<<9>>9)<<((ux<<1>>24)-127)) - ((uy<<9>>9)<<((uy<<1>>24)-127)))>…

TMS320F280049 EPWM模块--TZ子模块(6)

下图是TZ子模块在epwm中的位置&#xff0c;可以看到TZ子模块接收内外部多种信号&#xff0c;经过处理后生成最终epwm波形&#xff0c;然后通过gpio向外发出。 TZ的动作有4个&#xff1a;拉高/拉低/高阻/不变。 TZ的内部框图见下图&#xff0c;可以看出&#xff1a; 1&#xf…