HarmonyOS概述

HarmonyOS概述

HarmonyOS系统架构

内核层—系统服务层—框架层—应用层
在这里插入图片描述
内核层:

  • 内核子系统: HarmonyOS采用多内核设计,支持针对不同资源受限设备 ,选用适合的OS内核,为上层提供基础操作系统能力。
  • 驱动子系统: 硬件驱动框架(HDF),是HarmonyOS硬件生态开放的基础,提供统一外设访问能力和驱动开发管理框架

系统基础服务层:
是HarmonyOS的核心能力集合,包括适用于各类设备的基础能力以及面向特定设备的专有能力,涵盖系统基本能力子系统集、基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统集。根据不同设备形态的部署环境,基础软件/增强软件/硬件服务子系统集内部可以按子系统粒度裁剪,子系统内部还可按功能粒度裁剪

框架层:
为HarmonyOS应用开发提供了Java/C/C++/JS等多语言的用户程序框架Ability框架,两种UI框架(包括适用于Java语言的Java UI框架、适用于JS语言的 JS UI框架)以及各种软硬件服务对外开放的多语言框架API,根据系统的组件化裁剪程度,HarmonyOS设备支持的API也会有所不同。

应用层
支持基于框架层实现业务逻辑的原子化开发,构建以FA(Feature Ability)/PA(Particle Ability)为基础组成单元的应用(包括系统应用和第三方应用)。
FA/PA是HarmonyOS应用的基本组成单元,能够实现特定的业务功能。
一个应用可以包含一个或多个FA/PA。FA有UI界面,PA无UI界面。

在这里插入图片描述

一个视频通话应用视频通话主界面FA”提供UI界面以便于用户交互,PA1”进行摄像头视频采集,“PA2”进行视频美颜处理,“PA3”提供超级夜景能力。FA/PA可以按需下载、加载和运行。
基于FA/PA构建的新型应用生态,能够实现三方服务跨设备智能分发,提供一致、高效的用户体验。
在这里插入图片描述
仍以前面的视频通话应用为例,当手机下载该应用时,将同时下载主界面FA、摄像头视频采集PA、视频美颜处理PA、超级夜景PA。当智慧屏下载该应用时,如果智慧屏不支持美颜、超级夜景,则会仅下载主界面FA、摄像头视频采集PA。

应用开发基础篇

运行helloworld

安装软件和运行helloworld
补充

应用程序包结构

在这里插入图片描述

HarmonyOS的用户应用程序包以APP Pack (Application Package)形式发布xxx.app,它是由一个或多个HAP (HarmonyOS Ability Package) 以及描述每个HAP属性的pack,info组成。
HAP包是由代码、资源、第三方库以及配置文件组成的模块包。可分为entry和feature两种模块类型。

  • Entry 是应用或服务的主模块,可以独立安装和运行。
  • Feature 是应用或服务的动态特性模块。

HarmonyOS应用代码围绕Ability组件展开。
Ability
Ability是应用所具备的能力的抽象,一个应用可以包含一个或多个Ability。
Ability分为两种类型: FA 元程序(Feature Ability ) 和PA 元服务(Particle Ability)
FA有UI界面,PA无UI界面。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI百模大战:引领行业变革与开启人才黄金时代

🍎个人博客:个人主页 🏆个人专栏:Linux学习 ⛳️ 功不唐捐,玉汝于成 目录 前言 技术进步:AI的飞速发展 1. 深度学习的多领域应用 2. 自然语言处理的语境理解提升 3. 计算机视觉的实时处理能力提高 4…

清风数学建模学习笔记-斯皮尔曼相关系数

内容:斯皮尔曼相关系数 一.原理: 二.算法: 1.MATLAB: 2.SPSS: 分析-相关-双变量相关-勾选标注显著性相关性 3. 相关性系数的选择:

【vCenter Converter】安装 VMware vCenter Converter Standalone

目录 3.2 开始安装 (具体步骤) 关联博文参考资料 3.2 开始安装 (具体步骤) 点击安装程序后,进入安装导向。 终端用户协议。 接受终端用户协议。 指定安装位置。 指定安装类型,默认本地安装即可。 加入VMware用户体验计划。 准备安装。 安装中。 安装完成…

Open5GSUeRANSim2:对安装在同一个VM上的OPEN5GS和UERANSIM进行配置和抓取wireshark报文

参考链接: Configuring SCTP & NGAP with UERANSIM and Open5GS on a Single VM for the Open5GS & UERANSIM Series https://www.youtube.com/watch?vINgEX5L5fkE&listPLZqpS76PykwIoqMdUt6noAor7eJw83bbp&index5 Configuring RRC with UERANSI…

Python 运维(一):Python 包管理器 pip 的使用指南

大家好,我是水滴~~ 本文将介绍了 Python 的包管理器 pip 的基本使用、常用命令、帮助信息,以及一些常见问题。文章内容包含大量的示例代码,希望能够帮助新手同学快速入门。 《Python入门核心技术》专栏总目录・点这里 文章目录 1. 包管理器1…

Axure基础

软件: 简单交互动效 动态面板 显示和隐藏 表单元件 表格设计 内联框架 导航菜单 元件交互样式 滚动屏幕与弹幕

JAVA线上事故:递归导致的OOM

最近因为人员离职,接手一个项目,是xxljob的客户端,部署在k8s上,在排查线上工单时,发现了一个问题: 在管理界面上,我惊讶的发现,三个月的时间,2个Pod,每个都重…

代码随想录-刷题第三十三天

122. 买卖股票的最佳时机II 题目链接:122. 买卖股票的最佳时机 II 思路:题目中利润是可以分解的。 加入第0天买入,第三天卖出,利润为price[3] - price[0]。其利润可以分解成(prices[3] - prices[2]) (prices[2] - prices[1]) …

Github 2023-12-21 开源项目日报 Top10

根据Github Trendings的统计,今日(2023-12-21统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目4Go项目1Jupyter Notebook项目1C#项目1Solidity项目1TypeScript项目1C项目1CSS项目1 GPT-Engineer…

【Linux C | 文件I/O】文件的打开关闭 | open、creat、colse 函数

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

PHP开发日志——循环和条件语句嵌套不同,效率不同(循环内加入条件语句,条件语句判断后加入循环,array_map函数中加入条件语句)

十多年前开发框架时,为了效率不断试过各种代码写法,今天又遇到了,想想php8时代会不会有所变化,结果其实也还是和当年一样,但当年没写博客,但现在可以把数据记录下来了。 项目基本情况是一个考试系统调用题库…

【数据结构】线段树算法总结(单点修改)

知识概览 用作单点修改的线段树有4个操作: pushup:由子节点的信息计算父节点的信息build:初始化一棵树modify:修改一个区间query:查询一个区间 线段树用一维数组来存储: 编号是x的节点,它的父节…

2023年12月GESP Python三、四级编程题真题解析

三、2023年12月GESP Python三级编程题 【三级编程题1】 【试题名称】&#xff1a;小猫分鱼 【问题描述】 海滩上有一堆鱼&#xff0c;N只小猫来分。第一只小猫把这堆鱼平均分为N份&#xff0c;多了i<N条鱼&#xff0c;这只小猫把多的i条鱼扔入海中&#xff0c;拿走了一份…

Java_集合进阶(Collection和List系列)

一、集合概述和分类 1.1 集合的分类 已经学习过了ArrayList集合&#xff0c;但是除了ArrayList集合&#xff0c;Java还提供了很多种其他的集合&#xff0c;如下图所示&#xff1a; 我想你的第一感觉是这些集合好多呀&#xff01;但是&#xff0c;我们学习时会对这些集合进行…

读书笔记产品经理学习笔记1-忘掉技术,先看客户需求

技术到产品思维的转换 以前做技术的时候&#xff0c;扮演的角色是怎样多快好省的完成开发。现在做产品了&#xff0c;你得自己定产品方案&#xff0c;让别人来开发。最重要的是先弄清楚客户的需求是什么&#xff0c;要解决什么问题&#xff0c;再看产品怎么设计&#xff0c;然…

用ImageJ处理高斯光束的光斑

文章目录 图像显示图像裁剪高斯拟合 图像显示 ImageJ是著名的科研图像处理工具&#xff0c;提供了非常强大的分析功能&#xff0c;处理光斑图像简直是小菜一碟。这里推荐下载fiji&#xff0c;是内置了大量插件的ImageJ&#xff0c;可以满足各种科研上的图像处理需求。 打开一…

RTOS中断管理的简单应用

我们在stm32f103c8t6单片机上验证RTOS中断管理&#xff0c;利用stm32cube进行RTOS的配置。裸机的时钟源默认是 SysTick&#xff0c;但是开启 FreeRTOS 后&#xff0c;FreeRTOS会占用 SysTick &#xff08;用来生成1ms 定时&#xff0c;用于任务调度&#xff09;&#xff0c;所以…

maven学习和maven聚合工程搭建

1.学习maven maven的概念 项目管理工具 &#xff0c;对jar进行依赖管理&#xff0c;编译&#xff0c;打包&#xff0c;单元测试&#xff0c;安装&#xff0c;部署&#xff0c;贯穿整个项目 为什么要学maven 要解决的问题&#xff1a; 不同的开发工具开发出来的项目目录结构…

智能优化算法应用:基于非洲秃鹫算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于非洲秃鹫算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于非洲秃鹫算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.非洲秃鹫算法4.实验参数设定5.算法结果6.…

PostgresSQL数据库中分区和分表的区别以及PostgresSQL创建表分区分表示例

1.分区分表理解 数据库分区和分表都是数据库中常用的数据分散存储技术&#xff0c;但它们的实现方式和应用场景有所不同。 分表&#xff1a;将一个大的表拆分成多个小的表&#xff0c;每个子表存储一部分数据。分表可以减轻单个表的数据量&#xff0c;提高查询效率&#xff0c…
最新文章