![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
鸿蒙
文章平均质量分 90
普通网友
这个作者很懒,什么都没留下…
展开
-
OpenHarmony C/C++三方库移植适配
众所周知,C/C++三方库相对与JS/ETS的三方组件来说,其运行效率高。那如何将一个C/C++三方库移植到OH系统上呢?本文将介绍如何快速高效的移植一个C/C++三方库到OpenHarmony上。原创 2024-04-14 19:03:36 · 1623 阅读 · 1 评论 -
OpenHarmony开源三方库的cmake在IDE上直接引用的问题
一、部分开源三方库的脚本可以在DevEco Studio上直接使用这部分开源三方库没有其他库的依赖,可以直接使用add_subdirectory引用二、有依赖的三方库的脚本不能在DevEco Studio上直接使用需要配置搜索路径和提前将依赖的库都构建并安装完毕或者在顶层CMakeLists.txt中使用execute_process来调用shell命令,先把依赖库编译并安装完成。原创 2024-04-13 21:39:41 · 1987 阅读 · 0 评论 -
OpenHarmony应用集成和固件集成中C库差异化分析
通过以上分析出来的现象,和工具链相关的负责人沟通,命名空间隔离是由工具链这边自己进行隔离的,因为系统侧和ndk侧两边发布版本的节奏不一致,版本不同,如果强行统一会导致api不兼容,数据结构差异等问题。所以固件集成方式构建的库和应用集成构建的库不可以混用。基本概念构建第一个ArkTS应用……应用基础知识配置文件应用数据管理应用安全管理应用隐私保护三方应用调用管控机制资源分类与访问学习ArkTS语言……Ability开发UI开发公共事件与通知窗口管理。原创 2024-04-13 21:37:30 · 778 阅读 · 0 评论 -
从零开始编写一个cmake构建脚本
本文档介绍cmake构建脚本编写,包含的一些主要元素和命名规范。配置一些后面使用比较频繁的变量,变量名需要大写,并且变量名不能以CMAKE开头set(TARGET_NAME project) # 定义变量存放库名set(TARGET_SAMPLE_NAME test) # 定义变量存放库测试用例名set(TARGET_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}/${TARGET_NAME}) # 定义变量存放库路径。原创 2024-04-13 21:31:53 · 978 阅读 · 1 评论 -
如何将三方库集成到hap包中——通过IDE集成非cmake方式构建的C/C++三方库
DevEco Studio(简称IDE)目前只支持cmake构建方式,对于非cmake构建方式的三方库需要通过IDE工具集成的话,我们需要对原生库编写一个cmake的构建脚本。本文通过tinyxpath三方库为例介绍如何在IDE上移植一个非cmake构建方式的三方库。原创 2024-04-13 21:30:06 · 981 阅读 · 0 评论 -
如何将三方库集成到hap包中——通过IDE集成cmak构建方式的C/C++三方库
cmake构建方式是开源三方库的主流构建方式。DevEco Studio目前以支持cmake的构建方式。本文将通过在IDE上适配cJSON三方库为例讲来解如何在IDE上集成cmake构建方式得三方库。原创 2024-04-13 21:26:22 · 884 阅读 · 0 评论 -
在OpenHarmony开发板上验证hap包中集成的C/C++三方库
理论上C/C++三方库的测试验证一般使用原生库自带的测试用例进行验证,但OpenHarmony的北向应用调用C/C++三方库是需要通过napi接口实现的,因此对于hap包中集成的C/C++三方库的验证也需要通过开发对应的napi接口来进行验证。本文通过minizip为例介绍hap包中集成C/C++三方库的验证过程。C/C++三方库napi接口定义一般分2种情况有需求,需求方给出对应的napi接口定义。无需求,根据三方库功能自定义napi接口。原创 2024-04-13 21:21:10 · 1070 阅读 · 0 评论 -
北向应用集成三方库——什么是OH的应用包(hap)
用户应用程序泛指运行在设备的操作系统之上,为用户提供特定服务的程序,简称“应用”。一个应用所对应的软件包文件,称为“应用程序包”。应用软件所涉及的文件多种多样,开发者可通过OpenHarmony提供的集成开发工具将其开发的可执行代码、资源、三方库等文件整合到一起制作成OpenHarmony应用程序包,便于开发者对应用程序的部署。应用软件所涉及的设备类型多种多样,开发者可通过OpenHarmony提供的应用程序包配置文件指定其应用程序包的分发设备类型,便于应用市场对应用程序包的分发管理。原创 2024-04-13 21:17:40 · 859 阅读 · 0 评论 -
华为校园公开课走入上海交大,鸿蒙成为专业核心课程
路线图将包含完全基于鸿蒙内核开发的应用,比如一次开发多端部署、自由流转、元服务、端云一体化等,多方位的学习内容让学生能够高效掌握鸿蒙开发,少走弯路,真正理解并应用鸿蒙的核心技术和理念。路线图包括ArkTS基础语法、鸿蒙应用APP开发、鸿蒙能力集APP开发、次开发多端部署开发、物联网开发等九大模块,六大实战项目贯穿始终,由浅入深,层层递进,深入理解鸿蒙开发原理!此外,活动现场还设置了HarmonyOS产品体验环节,引入了手机、平板、音频等产品,让参会学生感受HarmonyOS的性能和智能互联的无限可能。原创 2024-04-12 22:16:25 · 594 阅读 · 0 评论 -
OpenHarmony编译构建系统
以部件为最小粒度拼装产品和独立编译。支持轻量、小型、标准三种系统的解决方案级版本构建,以及用于支撑应用开发者使用IDE开发的SDK开发套件的构建。支持芯片解决方案厂商的灵活定制和独立编译。原创 2024-04-12 17:25:18 · 765 阅读 · 0 评论 -
OpenHarmony南向之编译构建框架
OpenHarmony编译子系统是以GN和Ninja构建为基座,对构建和配置粒度进行部件化抽象、对内建模块进行功能增强、对业务模块进行功能扩展的系统,该系统提供以下基本功能:以部件为最小粒度拼装产品和独立编译。支持轻量、小型、标准三种系统的解决方案级版本构建,以及用于支撑应用开发者使用IDE开发的SDK开发套件的构建。支持芯片解决方案厂商的灵活定制和独立编译。编译子系统通过配置来实现编译和打包,该子系统主要包括:模块、部件、子系统、产品。原创 2024-04-12 17:07:04 · 513 阅读 · 0 评论 -
OpenHarmony之媒体组件模块简介
services目录下的内容可以粗略的理解为多媒体的系统服务,对应为OpenHarmony中的media_service进程,其下的engine目录中的内容是其核心所在,而services目录下主要是与frameworks/native下同名的接口,用于实现C/S模式。因为流水线上的每个环节都预先设置了其可以支持的数据类型与参数,在很多情况下,pipeline的结构也是根据数据的内容自动组建的(具体的协商过程不在本文讨论范围内)。从结构图中可以看出,提供给应用的接口层在基本能力的基础上提供了相当多的功能。原创 2024-04-12 17:01:28 · 541 阅读 · 0 评论 -
OpenHarmony应用启动过程
本文基于 OpenHarmony 源码梳理应用的启动过程,介绍 appspawn/ability_runtime/ace_engine/ets_runtime 等重要模块的初始化流程,以及它们之间的相互关系。不同形态的 hap 应用在具体细节上会有一些差异,但整体的流程上是一致的。本文基于 OpenHarmoney 3.2 标准系统 FA 模式的 ets 应用进行阐述。原创 2024-04-12 16:53:41 · 462 阅读 · 0 评论 -
HarmonyOS分布式应用框架深入解读
随着越来越多设备的智能化,在多设备场景下应用开发面临以下挑战:从多设备的形态差异(不同大小、不同分辨率、不同形状的屏幕,多样化的交互方式–按钮、触屏、键盘、语音、手势等),多设备的能力差异(内存从百 KB级到GB级设备)。针对上述挑战,HarmonyOS作为一款面向万物互联时代的、全新的分布式操作系统,将迎刃而解,这得益于HarmonyOS的分布式应用框架,这些多设备组成一个超级终端,充分发挥各设备能力,从而实现多设备间多端协同、跨端迁移,为万物互联奠定基础。原创 2024-04-12 16:44:53 · 690 阅读 · 0 评论 -
三步就能在OpenHarmony中实现车牌识别
EasyPR 实现是基于 OpenCV 实现,因此实现 EasyPR 首先得移植 OpenCV。在停车场景中二维码识别与车牌识别共用同一份拍照代码 ,为提高二维码识别率在拍照初始化时须将分辨率设置为 1280*720。进行拍照后会进入拍照数据处理,当 s_runAi 为 false 说明是二维码识别,直接调用二维码识别接口即可。前文大致概括了 OpenCV 和 EasyPR 的移植步骤,更详细的关于环境搭建、烧录以及项目源码构建的步骤,请查看参考文章本地车牌识别。原创 2024-04-12 16:40:29 · 614 阅读 · 0 评论 -
OpenHarmony开发——Makefile方式组织编译的库移植
以yxml库为例,其移植过程如下文所示。原创 2024-04-12 15:51:59 · 604 阅读 · 0 评论 -
OpenHarmony开发——CMake方式组织编译的库移植
本文为OpenHarmony开发者提供一些组织编译形式比较常见(CMakeLists、Makefile)的三方库的移植指南,该指南当前仅适用于Hi3516DV300和Hi3518EV300两个平台,文中着重介绍各编译组织方式下工具链的设置方法以及如何将该库的编译添加到OpenHarmony整个工程的构建中。原创 2024-04-12 15:48:29 · 579 阅读 · 0 评论 -
轻量带屏解决方案之恒玄芯片移植案例
本文章基于恒玄科技BES2600W芯片的欧智通 Multi-modal V200Z-R开发板 ,进行轻量带屏开发板的标准移植,开发了智能开关面板样例,同时实现了aafwk_liteHDF等部件基于内核的适配。移植架构上采用Board与SoC分离的方案,工具链Newlib C库与Musl C库可选,LiteOS-M内核编译采用gn结合Kconfig图形化配置等需求。原创 2024-04-12 15:36:21 · 483 阅读 · 0 评论 -
为什么要“挺”鸿蒙?
只有原生鸿蒙的开发,才能让鸿蒙的万物互联特性被真正释放,由此推动跨平台技术的进一步发展,实现不同设备间的无缝连接和高效协同,为用户提供更加便捷、一致的使用体验。同时,启动鸿蒙原生应用开发,也将进一步推动鸿蒙生态的发展,吸引更多开发者加入,共同打造一个开放、繁荣的应用生态。值得关注的是,这也是首款国产操作系统。路线图将包含完全基于鸿蒙内核开发的应用,比如一次开发多端部署、自由流转、元服务、端云一体化等,多方位的学习内容让学生能够高效掌握鸿蒙开发,少走弯路,真正理解并应用鸿蒙的核心技术和理念。原创 2024-04-11 22:48:13 · 1011 阅读 · 0 评论 -
OpenHarmony 3.2 Release版本Codec HDI适配过程
OpenHarmony Codec HDI(Hardware Device Interface)驱动框架基于 OpenMax 实现了视屏硬件编解码驱动,提供 Codec 基础能力接口供上层媒体服务调用,包括获取组件编解码能力、创建组件、参数设置、数据的轮转和控制、以及销毁组件等功能,实现对视频数据的编解码处理。原创 2024-04-11 21:57:30 · 493 阅读 · 1 评论 -
OpenHarmony4.0分布式任务调度浅析
OpenHarmony 分布式任务调度是一种基于分布式软总线、分布式数据管理、分布式 Profile 等技术特性的任务调度方式。它通过构建一种统一的分布式服务管理机制,包括服务发现、同步、注册和调用等环节,实现了对跨设备的应用进行远程启动、远程调用、绑定/解绑,以及迁移等操作的支持。此外,分布式任务调度还能够根据设备的能力、位置、业务运行状态、资源使用情况,以及用户的习惯和意图,选择最合适的设备来运行分布式任务,从而提高了任务的执行效率和质量。原创 2024-04-11 21:32:32 · 1047 阅读 · 0 评论 -
基于 OpenHarmony 音符检测实现原理
一个时刻变化的频率有多个,如何取舍,有三种方法,平均数、中位数和联合,目前常用到的是中位数和平均数。傅里叶变换能够得到全部信号采样的频谱图,即每个频率的能量贡献,如图 2 所示。但是每个时刻频谱图却得不到,于是将全部采样分割成若干固定长度的窗口,每个窗口应用傅里叶变化,从而得到这一窗口的频率分布,水平轴为时间,纵轴为频率,颜色代表能量大小如图 3 所示。不准确的原因可能有乐器多且差异较大,信号衰减对性能的影响,颤音影响,峰点检测时不同参数的影响,这些主要是针对音乐的研究。5.鸿蒙音视频开发方向。原创 2024-04-11 21:23:06 · 919 阅读 · 0 评论 -
OpenHarmony南向开发-Docker编译环境
OpenHarmony为开发者提供了两种Docker环境,以帮助开发者快速完成复杂的开发环境准备工作。两种Docker环境及适用场景如下:独立Docker环境:适用于直接基于Ubuntu、Windows操作系统平台进行版本编译的场景。基于HPM的Docker环境:适用于使用HPM工具进行发行版编译的场景。表1Docker镜像介绍系统类型运行平台Docker镜像仓库标签标准系统(独立Docker环境)3.2小型系统(独立Docker环境)3.2轻量系统(独立Docker环境)3.2。原创 2024-04-11 21:17:09 · 1026 阅读 · 0 评论 -
一种快速移植 OpenHarmony Linux 内核的方法
本文面向希望将 OpenHarmony 移植到三方芯片平台硬件的开发者,介绍一种借助三方芯片平台自带 Linux 内核的现有能力,快速移植 OpenHarmony 到三方芯片平台的方法。原创 2024-04-11 15:24:06 · 833 阅读 · 0 评论 -
Flutter 到 OpenHarmony,不是有手就行吗? (下拉刷新)
本文默认您已经有一定的 OpenHarmony 开发经验,并且阅读过以下内容。组件导读-组件参考(基于 ArkTS 的声明式开发范式)-ArkTS API 参考-HarmonyOS 应用开发基本语法概述-快速入门-入门-HarmonyOS 应用开发开发说明-ArkTS 接口参考-ArkTS API 参考-HarmonyOS 应用开发使用的ide版本为,开发sdk为api 9,当然也适配了api 10。你可以通过对Controller中dragOffset和mode的判断,创建属于自己的下拉刷新效果。原创 2024-04-11 15:15:19 · 1067 阅读 · 0 评论 -
OpenHarmony 应用组件的动态属性设置
动态设置组件的属性,支持开发者在属性设置时使用 if/else 语法,且根据需要使用多态样式设置属性。原创 2024-04-11 14:39:02 · 433 阅读 · 0 评论 -
OpenHarmony NAPI 框架生成工具实现流程
NAPI 框架生成工具 可以根据用户指定路径下的 ts(typescript)接口文件一键生成 NAPI 框架代码、业务代码框架、GN 文件等。在开发 JS 应用与 NAPI 间接口时,底层框架开发者无需关注 Nodejs 语法、C++ 与 JS 之间的数据类型转换等上层应用转换逻辑,只关注底层业务逻辑即可。那他的实现过程,以及在实际开发中该如何使用呢?为此分析了下代码,分解其过程如下。原创 2024-04-11 14:34:55 · 418 阅读 · 0 评论 -
Flutter到 OpenHarmony,不是有手就行吗? (仿掘金点赞按钮)
Flutter提供了丰富的动画支持,使开发者能够轻松创建各种类型的动画效果,从简单的渐变和旋转到复杂的交互式动画都可以实现。而ArkUI从api上面看起来更简单,更容易编写代码。我们今天迁移的是Flutter从Flutter迁移到ArkUI过程蛮简单的,只需要去找准对应的api即可,关于Canvas的api各种平台的都大差不差的。基本概念构建第一个ArkTS应用……应用基础知识配置文件应用数据管理应用安全管理应用隐私保护三方应用调用管控机制资源分类与访问。原创 2024-04-11 14:22:42 · 704 阅读 · 0 评论 -
保姆级教程带你实现HarmonyOS手语猜一猜元服务(三)
元服务:1、提供专业手语翻译老师示范视频,包括基本手势、字母表、常用短语等。用户可以点击观看示范并模仿。2、提供类似答题模块,帮助用户巩固所学的手语知识,用户可以完成答题模块测试自己的进步。元服务卡片:1、卡片界面展示每日一题,并可以在卡片上进行答题学习手语猜一猜元服务的实现借助了HarmonyOS的跨应用数据共享和功能交互特性,让用户可以通过手势输入手语,并进行识别和猜词游戏。这种应用方式不仅提供了娱乐和互动的体验,还促进了手语的学习和交流。原创 2024-04-10 18:50:54 · 366 阅读 · 0 评论 -
保姆级教程带你实现HarmonyOS手语猜一猜元服务(二)
DevEco Studio是一款专门为鸿蒙(HarmonyOS)系统开发而设计的综合性开发工具IDE,开发者可以利用该工具进行鸿蒙应用的设计、开发、调试和发布。DevEco Studio集成了代码编辑器、模拟器、调试工具、图形用户界面设计器和应用管理工具等多个功能,方便开发者进行鸿蒙应用的开发与管理。DevEco Studio支持多语言开发,包括Java、ArkTS、JavaScript等,同时还支持多种开发模式和框架。此外,它还支持多平台开发,包括手机、平板、智能手表、电视等不同终端设备。原创 2024-04-10 17:59:45 · 301 阅读 · 0 评论 -
保姆级教程带你实现HarmonyOS手语猜一猜元服务(一)
元服务(原名为原子化服务)是HarmonyOS提供的一种面向未来的服务提供方式。它是一种新型应用程序形态,具有独立入口、免安装的特点,可以为用户提供一个或多个便捷服务。以线上购物为例,传统购物应用需要先安装应用,打开应用查找商品,加入购物车,然后完成支付。而通过元服务的方式,可以将购物过程拆分为多个服务,例如“商品浏览”、“购物车”、“支付”等,无需安装应用,通过丰富的入口直达服务页面。例如,将心仪的商品页添加到桌面,可以实时掌握商品价格的变动。在秒杀时间点,可以直接进入购物车进行结算。原创 2024-04-10 17:55:20 · 328 阅读 · 0 评论 -
HarmonyOS 开发-阻塞事件冒泡
本示例主要介绍在点击事件中,子组件enabled属性设置为false的时候,如何解决点击子组件模块区域会触发父组件的点击事件问题;以及触摸事件中当子组件触发触摸事件的时候,父组件如果设置触摸事件的话,如何解决父组件也会被触发的问题。原创 2024-04-10 17:31:17 · 712 阅读 · 0 评论 -
HarmonyOS 开发-二级联动
本示例主要介绍了List组件实现二级联动(Cascading List)的场景。该场景多用于短视频中拍摄风格的选择、照片编辑时的场景的选择。原创 2024-04-10 17:11:53 · 528 阅读 · 0 评论 -
HarmonyOS 开发-多模态页面转场动效实现案例
本示例介绍多模态页面转场动效实现:通过半模态转场实现半模态登录界面,通过配置NavDestinationMode类型为DIALOG,实现半模态的背景为透明,再与全屏模态和组件转场结合实现多模态组合登录场景,其中手机验证码登录与账号密码登录都为组件,通过TransitionEffect.asymmetric()和TransitionEffect.move()实现组件间转场达到近似页面转场的效果。原创 2024-04-09 20:38:09 · 1324 阅读 · 0 评论 -
HarmonyOS 开发-手写绘制及保存图片
本示例使用drawing库的Pen和Path结合NodeContainer组件实现手写绘制功能,并通过image库的packToFile和packing接口将手写板的绘制内容保存为图片。原创 2024-04-09 20:33:21 · 1082 阅读 · 0 评论 -
全网首个鸿蒙开发面经分享!已成功上岸!
在面试中,面试官往往会关注申请人的技术能力、项目经验以及解决问题的能力。原创 2024-04-09 17:06:33 · 1174 阅读 · 0 评论 -
HarmonyOS 开发-短视频切换实现案例
短视频切换在应用开发中是一种常见场景,上下滑动可以切换视频,十分方便。本模块基于Swiper组件和Video组件实现短视频切换功能。原创 2024-04-09 16:25:34 · 463 阅读 · 0 评论 -
面试必问!在鸿蒙应用开发你用过哪些性能优化策略和技术手段?
除了上述具体的优化策略外,鸿蒙系统还提供了一些工具和框架来帮助开发者进行性能优化。同时,鸿蒙系统也提供了分布式框架和其他第三方框架,可以帮助开发者实现跨平台开发,提高开发效率。在鸿蒙应用开发中,性能优化是一个关键方面,它涉及多个方面的策略和技术手段,如启动速度优化、内存管理优化和功耗控制。总之,在鸿蒙应用开发中,性能优化是一个持续的过程,需要开发者在开发过程中不断关注并采取相应的优化策略和技术手段来提高应用的性能。3.内存管理在鸿蒙系统中尤为关键,请谈谈你会如何有效地进行内存优化,避免内存泄漏?原创 2024-04-09 15:17:17 · 1041 阅读 · 0 评论 -
HarmonyOS 开发-数据库版本升级案例
本示例介绍使用关系型数据库的接口来进行数据库升降级场景实现。原创 2024-04-09 15:11:55 · 862 阅读 · 0 评论 -
HarmonyOS 开发-图片九宫格封装案例
本示例介绍使用(Flex组件实现图片在不同个数情况下的布局效果(默认布局和自定义布局)。该场景多用于社交类应用。原创 2024-04-09 15:08:44 · 1036 阅读 · 0 评论