自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 【FAQ问题定位】模块如何单独编译构建

核心方法就是从每日构建下载烧录镜像,本地编译单一模块,烧录镜像,推送单一模块进行验证。关于 InteractionManagerTest 等测试 bin 文件和 HAP 的推送、执行会在我的其他文档中进行说明,以下以 so 的推送为例进行说明。③ BUILD.gn 中定义的目标产物,生成的 so 库名,不包括开始的’lib’和末尾的’.z.so’⑤ 组件 so 生成目录,sensors 为子系统名称,miscdevice 为组件名称如上所述。③ BUILD.gn 中定义的目标产物,生成的 bin。

2024-10-29 14:04:44 899

原创 【FAQ问题定位】查找代码片段提交者的PR

仓库中有一段代码我们不知道其意图,或者一个问题追踪到此处,需要定位这一段代码是何人、何时、何因、哪个 PR 添加的?这个方法通常用来定位“BUG 制造者”。了解代码幕后的动机,追溯代码变迁,学习软件迭代,寻找第一当事人是最直接有效的方式!鼠标点击待查看的代码行,会显示创建者和必要的信息。也可以在 vscode 查看具体修改内容,点击。记住创建者,如 Science, 索引的信息如下。第二步,vscode 安装必要 git 插件。第一步,将代码拷贝到本地。填写创建者,鼠标移动到。

2024-10-28 21:11:57 334

原创 OpenHarmony深度解读之分布式软总线:auth_interface.c文件部分源码解析

auth_interface.c文件主要是提供一些设备间进行身份认证所需要的接口,如认证会话的管理、会话密钥的管理、HiChain的管理等。下面本文将对auth_interface.c文件的部分代码进行分析,因为有的代码会涉及到另一个模块的内容,那一块将会在接下来的文章中进行分析。

2024-10-18 21:11:02 350

原创 OpenHarmony源码分析之分布式软总线:trans_service/tcp_session.c

tcp_session.c文件提供的接口功能主要是创建一个TCP会话并返回其地址,在tcp_session.h文件中还提供了会话的属性结构体,本文将对这两个文件进行详细分析。

2024-10-17 14:41:44 260

原创 OpenHarmony源码分析之分布式软总线:trans_service模块(4)/TCP会话管理

trans_service模块基于系统内核提供的socket通信,向authmanager模块提供设备认证通道管理和设备认证数据的传输;向业务模块提供session管理和基于session的数据收发功能,并且通过GCM模块的加密功能提供收发报文的加解密保护。在上一篇博客 OpenHarmony源码分析之分布式软总线:trans_service模块(2)/会话管理之新会话 中已经介绍了在分布式软总线中TCP会话管理的部分内容,如TCP新会话的管理。

2024-10-16 17:49:35 455

原创 OpenHarmony源码分析之分布式软总线:trans_service模块(3)/线程同步锁管理

在分布式软总线提供的数据传输服务中,为了提高处理效率,使用了多线程并发处理的机制,因此就会引入线程同步的问题,所谓线程同步,即当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作, 其他线程才能对该内存地址进行操作,而其他线程又处于等待状态,实现线程同步的方法有很多,临界区对象就是其中一种。trans_service模块的线程同步管理是基于互斥锁实现的,而对于不同的底层内核设备,互斥锁的调用库有所不同。

2024-10-16 16:57:28 406

原创 OpenHarmony源码分析之分布式软总线:trans_service模块(1)/认证通道管理

trans_service模块基于系统内核提供的socket通信,向authmanager模块提供设备认证通道管理和设备认证数据的传输;向业务模块提供session管理和基于session的数据收发功能,并且通过GCM模块的加密功能提供收发报文的加解密保护。

2024-10-16 14:36:28 396

原创 OpenHarmony之分布式软总线discovery_service.c(四)

【代码】OpenHarmony之分布式软总线discovery_service.c(四)

2024-10-14 17:05:53 163

原创 OpenHarmony之分布式软总线discovery_service.c(三)

【代码】OpenHarmony之分布式软总线discovery_service.c(三)

2024-10-14 16:08:28 275

原创 OpenHarmony轻量系统服务管理-samgr:common赏析及实现

在distributedschedule_samgr_lite\interfaces\kits\samgr\common.h文件中提供了简化的vector容器和转换函数。并针对vector容器的操作函数进行设计。下面对相关代码进行分析。

2024-09-30 21:18:49 473

原创 OpenHarmony轻量系统服务管理-samgr主要接口思维导图(2)

Samgr模块提供了面向服务体系结构(SOA)的开发框架基础。可以基于Samgr开发框架开发自己的功能。该模块提供了servicefeature和function的基本模型,以及注册和发现。本文分析的接口文件位于。

2024-09-30 20:34:17 475

原创 OpenHarmony轻量系统服务管理-samgr主要接口思维导图(1)

模块提供了面向服务体系结构(SOA)的开发框架基础。可以基于。

2024-09-30 17:55:30 361

原创 OpenHarmony(鸿蒙设备开发)POSIX和CMSIS接口适配层解读adapter(2):thread/memory/time

本文针对thread_adapter、memory_adapter、time_adapter部分进行解读,也是samgr/adapter下关于POSIX和CMSIS的最后一部分代码。

2024-09-30 17:33:47 457

原创 OpenHarmony POSIX和CMSIS接口适配层解读(1):queue_adapter

POSIX和CMSIS接口适配层,用于协调M核和A核API之间的差异。本文针对queue_adapter部分进行解读。统一队列操作的接口,如QUEUE_Create、QUEUE_Put、QUEUE_Pop、QUEUE_Destroy,屏蔽了底层POSIX和CMSIS的差异性。

2024-09-30 17:13:06 430

原创 OpenHarmony轻量系统服务管理|消息广播功能实例操作详解(二)

查询指定topic的订阅关系,获得消费者集合的链表。 遍历消费者结点链表,向订阅了指定topic的所有消费者发送消息。 若消费者绑定了身份标识则调用SAMGR_SendSharedDirectRequest()发送 若消费者未绑定身份标识,则通过SAMGR_SendSharedRequest()发送

2024-09-30 16:26:14 308

原创 OpenHarmony轻量系统服务管理|消息广播功能实例操作详解(一)

/当前服务名称//当前功能名称//表示事件或数据的主题,用于区分不同类型的事件或数据//枚举广播服务特有的错误代码//当前topic已被订阅,即重复订阅//定义topic的消费者,用于接收事件和推送数据//消费者的身份标识/*@consumer:数据的消费者@topic:将被处理的topic@origin:指向要处理的数据的指针定义消费者如何处理已发布的topic中的事件或数据。*///检查两个消费者是否相等,防止重复订阅。

2024-09-30 15:24:06 200

原创 OpenHarmony轻量系统服务管理|消息广播服务及其子功能详解

本文相关代码实现位于目录下的和。本文将对以下数据结构及函数进行详解。在broadcast_service.c中Init:注册广播服务GetName:获取广播服务的名称Initialize:广播服务的初始化函数MessageHandle:广播服务的消息处理函数GetTaskConfig:获取广播服务的任务配置在pub_sub_feature.c中Init:初始化全局广播变量GetName:获取功能名称OnInitialize:初始化IDOnStop:停止功能。

2024-09-30 14:55:34 348

原创 OpenHarmony轻量系统服务管理|系统服务管理之系统功能管理器详解

在分布式调度框架中,关于轻量级服务管理的代码总体上可以分为四部分,分别是Samgr、Samgr_client、Samgr_endpoint及Samgr_server。本文是对Samgr部分的总体概述,相关代码文件位于distributedschedule_samgr_lite\samgr。对于Samgr的分析思路是采用总体代码分析+系统功能管理器(Samgr_lite)的机制分析+子主题分析+n篇代码标注的方式进行技术分享。在本文中提到的数据结构或函数的详细分析可以在文末的附录中找到,其中也包含了许多优秀代

2024-09-30 13:49:25 1132

原创 OpenHarmony轻量系统服务管理|系统服务管理之基础框架及功能详解

本文是对分布式任务调度之系统服务管理中的一些基础框架、数据和操作总体概述,包含底层内存管理、底层队列操作、底层线程管理、时间操作、令牌桶操作、vector操作、系统功能存储结构等。这也是**Samgr**部分中的最后一个子主题。它们作为底层操作为上层服务和功能间的交互提供相应的支持。分析思路采用1篇总体概述+n篇代码标注的方式进行技术分享。在本文中提到的数据结构或函数的详细分析可以在文末的附录中找到,其中也包含了许多优秀代码的分析。

2024-09-29 22:01:54 1072

原创 OpenHarmony轻量系统服务管理|系统服务间调用之对外接口详解

本文是对Samgr部分中子主题**IUnknown**的总体概述,相关代码文件位于`distributedschedule_samgr_lite\samgr\source`。对于**IUnknown**的分析思路是采用1篇总体概述+n篇代码标注的方式进行技术分享。在本文中提到的数据结构或函数的详细分析可以在文末的附录中找到,其中也包含了许多优秀代码的分析。

2024-09-29 21:39:17 911

原创 OpenHarmony轻量系统服务管理|系统服务间调用之对外接口详解

本文是对Samgr部分中子主题IUnknown的总体概述,相关代码文件位于distributedschedule_samgr_lite\samgr\source。对于IUnknown的分析思路是采用1篇总体概述+n篇代码标注的方式进行技术分享。在本文中提到的数据结构或函数的详细分析可以在文末的附录中找到,其中也包含了许多优秀代码的分析。

2024-09-29 21:03:11 852

原创 OpenHarmony轻量系统服务管理|同进程及跨进程间通信的数据结构及过程详解

上一篇介绍了鸿蒙业务模型中的三大概念以及简单的注册过程,相信读者已经对鸿蒙的业务逻辑有了一定的了解。简单的来说,就是将多个子功能注册到服务中,再把服务注册到全局系统功能管理器(Samgr)中。这样,一个服务包含零个或多个功能,而功能又绑定了对外接口,然后我们可以向暴露的接口发送消息,等服务执行特定的处理后再将响应消息发送回来。这是最简单最直观的一次交互过程,但是要完成这样的交互,鸿蒙的底层还需要做许多基础工作,比如服务的初始化、功能的初始化、消息传输对象的构建等等。所以,在本文中我将会为读者介绍一次简单的交

2024-09-29 20:21:56 992

原创 OpenHarmony轻量系统服务管理|鸿蒙业务模型重要概念详解

在针对鸿蒙模块二的源代码分析中,发现它业务逻辑的实现围绕着三大概念展开,分别是服务(Service)、功能(Feature)和功能接口API(Iunknown所以理解并掌握这三个概念对于我们深入学习鸿蒙底层代码的业务逻辑有极大的帮助。下面我将结合前期分析鸿蒙代码的经验,通过图文并茂的方式为读者讲解它们的基类和实例对象以及相应的作用。

2024-09-29 20:04:46 959

原创 OpenHarmony网络组件-Mars

Mars 是一个跨平台的网络组件,包括主要用于网络请求中的长连接,短连接,是基于 socket 层的解决方案,在网络调优方面有更好的可控性,暂不支持HTTP协议。Mars 极大的方便了开发者的开发效率。

2024-09-28 21:17:41 694

原创 OpenHarmony网络通信-socket-io

socket.io是一个在客户端和服务器之间实现低延迟、双向和基于事件的通信的库。建立在 WebSocket 协议之上,并提供额外的保证,例如回退到 HTTP 长轮询或自动重新连接。

2024-09-28 20:32:59 1101

原创 OpenHarmony网络请求库-axios

Axios ,是一个基于 promise 的网络请求库,可以运行 node.js 和浏览器中。本库基于 Axios 原库v1.3.4版本进行适配,使其可以运行在 OpenHarmony,并沿用其现有用法和特性。http 请求request 和 response 拦截器转换 request 和 response 的 data 数据自动转换 JSON data 数据// 创建实例时配置默认值});// 创建实例后修改默认值配置的优先级配置将会按优先级进行合并。

2024-09-28 20:14:53 1113

原创 OpenHarmony UI动画实战开发——box2d

用于游戏开发,使物体的运动更加真实,让游戏场景看起来更具交互性,比如愤怒的小鸟。

2024-09-27 22:16:34 473

原创 OpenHarmony UI动画实战开发——rebound

rebound是一个模拟弹簧动力学,用于驱动物理动画的库。

2024-09-27 21:24:41 820

原创 OpenHarmony UI动画实战开发-recyclerview_animators

带有添加删除动画效果以及整体动画效果的list组件库。

2024-09-27 20:30:20 544 1

原创 OpenHarmony UI开发-ohos-svg

ohos-svg是一个SVG图片的解析器和渲染器,解析SVG图片并渲染到页面上。它支持大部分 SVG 1.1 规范,包括基本形状、路径、文本、样式和渐变,它能够渲染大多数标准的 SVG 图像。ohos-svg的优点是性能好、内存占用低。

2024-09-27 17:59:50 406

原创 OpenHarmony UI动画-lottie

lottie是一个适用于OpenHarmony的动画库,它可以解析Adobe After Effects软件通过Bodymovin插件导出的json格式的动画,并在移动设备上进行本地渲染。

2024-09-27 17:40:18 791

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除