【本文正在参加2023年第一期优质创作者激励计划】简介媒体子系统是OpenHarmony中重要的子系统,可以提供音视频播放能力。媒体子系统为开发者提供一套简单且易于理解的接口,使得开发者能够方便接入系统并使用系统的媒体资源。媒体子系统提供以下常用功能:音视频播放(AVPlayer9+),AudioPlayer6+和VideoPlayer8+整合,升级了状态机和错误码,推荐使用音视频录制(AVRecorder9+),AudioRecorder6+和VideoRecorder9+整合,推荐...
2023-03-31 20:05:57 939浏览 1点赞 0回复 0收藏
【本文正在参加2023年第一期优质创作者激励计划】HiDumper简介HiDumper是OpenHarmony中为开发、测试人员,IDE工具提供统一的系统信息获取工具,帮助使用者分析,定位问题。HiDumper主要包括以下几个主要模块:hidumper:可执行程序,工具入口,在板上可通过hidumper执行对应命令hidumperclient:动态库,提供framework层接口libdumpusage:动态库,提供framework层功能实现hidumperservice:动态库,sa服务,提供service层功能...
2023-03-29 14:48:37 2330浏览 6点赞 5回复 3收藏
【本文正在参加2023年第一期优质创作者激励计划】跟着小白一起学鸿蒙[番外]一起学做FlappyBird作者:王石简介小时候我们有个熟悉的游戏叫小蜜蜂。本文中引用的图片资源均来自与Github。开发1.HAP应用建立《跟着小白一起学鸿蒙[六]如何编写一个hap应用》里我们介绍了简单的Hap应用的开发以及基础控件的介绍,这里我们就不赘述Hap项目的建立过程,以下就是基础的Hap的page文件:index.etsjsbuild(){Row(){Column(){Canvas(this.co...
2023-03-26 11:24:34 1540浏览 1点赞 2回复 1收藏
【本文正在参加2023年第一期优质创作者激励计划】SELinuxSELinux说明SELinux(SecurityEnhancedLinux)是[美国国家安全局](NSA)对于[强制访问控制]的实现,是Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。SELinux基本概念主体Subje...
2023-03-24 17:25:59 1780浏览 2点赞 2回复 3收藏
【本文正在参加2023年第一期优质创作者激励计划】WPASupplicant连接方式简析shellthirdpartywpasupplicantCONTRIBUTIONS贡献说明COPYING版权说明wpasupplicant2.9轻量级系统的wpasupplicanthostapdWiFi热点相关功能(AccessPoint)hs20热点2.0(Hotspot2.0)相关功能srcWiFi热点与WiFi接入点共用的代码wpasupplicantWiFi接入相关功能(Station)wpasupplicantlibOpenHarmony对WiFi新开发的业务代码wpasupplicant2.9standard标准...
2023-03-15 18:26:01 1556浏览 4点赞 3回复 2收藏
【本文正在参加2023年第一期优质创作者激励计划】原理1.物理内存中开辟4096字节内存(1m8k)2.物理内存与磁盘内存对应3.mmu将mmap开辟的物理内存地址转换成虚拟地址Binder概述什么是BinderBinder最开始是IPC工具,起源于OpenBinder项目,发展于Android项目,现在已经和入LinuxKernel,目前演变成RPC工具,可以使当前进程调用另一个进程的函数向自身函数一样简单。OpenBinderisasystemforinterprocesscommunication.Itwasdeveloped...
2023-03-10 10:13:08 3482浏览 5点赞 3回复 4收藏
作者:王石开源协议概览许可证版本包含许可证包含源代码链接状态变化商业使用散布修改专利许可私人使用许可转售无担保责任没有商标::::::::::::::::::::::::::::[2句版BSD许可证](https:zh.wikipedia.orgwikiBSD许可证)是是是是是是是[3句版BSD许可证](https:zh.wikipedia.orgwikiBSD许可证)是是是是是是是是一般的[著作权](https:zh.wikipedia.orgwiki著作權)是是否否是否[Affero通用公共许可证](https:zh.wikipedia.orgwikiAf...
2023-02-23 17:42:16 2540浏览 3点赞 3回复 2收藏
作者:王石WebSocket是一种网络通讯协议,很多网络开发工作者都需要它。本文介绍在OpenHarmony上WebSocket协议的使用方法。WebSocket有什么不同很多人会问,有了HTTP协议,尤其是RESTFul接口,为什么还需要使用WebSocket?它能带来什么好处呢?那是因为HTTP协议有一个缺陷,通讯只能由客户端发起。简单举例,我们的天气应用程序需要查询天气就需要客户端向服务器请求数据,服务器查询后返回结果。但是如果天气有变化,客户端是...
2023-02-22 16:25:14 2184浏览 2点赞 1回复 2收藏
作者:王石概述OpenHarmony开发过程中我们一定会面对各种开发问题,比如如何看log,如何看系统状态,如何调试,等等。本章内容就是总结一些常用工具。交叉编译工具源码下载:OH3.1用的5.5,OH3.2升级了5.7,两者都能用wgethttps:releases.linaro.orgcomponentstoolchainbinarieslatest5armlinuxgnueabigcclinaro5.5.02017.10x8664armlinuxgnueabi.tar.xz解压、配置好路径(这个就不细讲了,可自行百度)GDB源码下载bashwgethttp...
2022-12-29 15:47:13 4477浏览 4点赞 3回复 2收藏
作者:王石概述在《[跟着小白一起学鸿蒙[七\]写个NAPI子系统](https:ost.51cto.composts17714)》的文章里我们熟悉了如何用NAPI框架实现一个HAP应用的业务接口,但是这只是OpenHarmony提供的一种实现方式。在ETS的框架接口里OpenHarmony提供了一种更方便快捷的方式就是利用XComponent组件和NDK的方式快速进行业务层逻辑实现和动态库(so)的调用。XComponent组件参考文档链接:https:developer.harmonyos.comcndocsdocumentation...
2022-12-08 10:58:27 4293浏览 6点赞 5回复 3收藏
如何编译OpenHarmony自带APP作者:王石概述OpenHarmony的主干代码是开源社区的重要学习资源,对于想进行应用开发和熟悉OpenHarmony能力的同学主干代码是非常重要的资源,在主干代码的applications目录里聚集了很多原生的应用实现,那么如何编译这些代码就是我们这篇文章的主要议题。下载代码参考《[跟着小白一起学鸿蒙[一\]运行OpenHarmony](https:ost.51cto.composts16203)》文章下载OpenHarmony代码使用DevEco导入编译1.导入...
2022-12-04 14:22:14 5125浏览 3点赞 3回复 1收藏
作者:王石用户凭证管理:pinauth(口令认证):模块支持用户口令的设置,删除和认证功能。与用户IAM子系统基础框架配合,也可以支持用户口令修改的功能;口令认证作为OpenHarmony最基础的用户身份认证执行器,按照协同认证定义的资源注册接口,将口令认证相关资源信息注册到协同认证框架,并根据协同认证框架的调度,完成口令的设置,删除和认证功能;faceauth(人脸认证):支持用户人脸的录入,删除和认证功能;人脸认证是Op...
2022-12-02 10:38:53 6898浏览 4点赞 4回复 1收藏
跟着小白一起学鸿蒙[番外]一起学做Tetris(下)作者:王石简介接着《跟着小白一起学鸿蒙[番外]一起学做Tetris(上)》我们完善了页面,增加了左右按键和之前方块显示,方块消除。开发1.按键增加之前我们布局一直是只有个Canvas控件,现在我们需要设置高度后增加一个Row的布局,并增加两个Button控件,以下就是基础的Hap的page文件:index.etsjsbuild(){Column(){Column(){Canvas(this.context).width('100%').height('100%').onClic...
2022-11-30 13:47:26 4799浏览 5点赞 5回复 2收藏
作者:王石简介小时候有个游戏叫俄罗斯方块,大人小孩都喜欢玩,我们就一起看看如何能用OpenHarmony学习做个Tetris。开发1.HAP应用建立《[六]如何编写一个hap应用》里我们介绍了简单的Hap应用的开发以及基础控件的介绍,这里我们就不赘述Hap项目的建立过程,以下就是基础的Hap的page文件:index.etsjsbuild(){Row(){Column(){Canvas(this.context).width('100%').height('100%').onClick((ev:ClickEvent){console.info("click!!...
2022-11-27 11:09:38 4058浏览 3点赞 1回复 2收藏
作者:王石分布式软总线是OpenHarmony的重要能力,设计目标是实现多设备间的通信方式。分布式软总线是分布式硬件和分布式软总线的重要基础,分布式软总线提供一种不区分链路的设备间发现、组网和传输的能力:发现:应用WiFi,蓝牙相关协议实现设备发现能力;组网:提供统一的设备组网和拓扑管理能力;传输:提供数据传输能力,支持消息、字节、流,文件的数据传输能力;概述在OpenHarmony的源码里和系统功能相关的部分大多都放...
2022-11-25 15:53:43 6946浏览 8点赞 3回复 5收藏
作者:王石,胡瑞涛上节回顾在[八]蓝牙应用章节,我们学习了在OpenHarmony下如何编写一个简单的蓝牙应用以及需要用到的相关蓝牙接口,接下来我们来编写可以检测这些接口性能的程序。之前的章节我们是用fa模式编写的hap,这次我们采用stage模式创建HAP。注意:本章使用OpenHarmonyscreenshot的截屏功能,因为此截屏权限是系统权限,所以需要配置sdk里的权限以方便安装hap简介仍然使用的是DevEcoStudio3.0,编写的环境配置尝试变为...
2022-11-24 18:48:44 4750浏览 5点赞 2回复 5收藏
作者:王石,胡瑞涛上节回顾在[六]如何编写hap文件,我们学习了hap文件的结构框架和如何自己开发一个简单的hap程序。接下来我们来学习如何在OpenHarmony环境下编译hap程序。安装使用说明(OpenHarmony)在OpenHarmony系统下蓝牙专项应用程序路径为:foundationcommunicationbluetoothtestexampleBluetoothTest目录结构.├──example│├──BluetoothTest││├──buildprofile.json5││├──hvigorfile.js││├──package....
2022-11-23 09:25:05 3966浏览 6点赞 3回复 4收藏
作者:王石WiFi功能是无线短距的重要能力,在工作、生活中我们已经离不开WiFi设备了,比如家里的路由,手机,各种智能家居设备。WiFi(发音:ˈwaɪfaɪ),又称“无线网路”,是WiFi联盟的商标,一个基于IEEE802.11标准的无线局域网技术。“WiFi”常被写成“WiFi”或“Wifi”,但是这些写法并没有被WiFi联盟认可。1999年,几家富有远见的公司联合起来组成了一个全球性非营利性协会——无线以太网兼容性联盟(WirelessEthernetC...
2022-11-21 08:51:38 5220浏览 9点赞 4回复 8收藏
跟着小白一起学鸿蒙[番外]一起学做FlappyBird作者:王石简介记得很久以前有个大火的像素游戏叫FlappyBird,我们就一起看看如何能用OpenHarmony学习做个FlappyBird。本文中引用的图片资源均来自与Github。开发1.HAP应用建立《跟着小白一起学鸿蒙[六]如何编写一个hap应用》里我们介绍了简单的Hap应用的开发以及基础控件的介绍,这里我们就不赘述Hap项目的建立过程,以下就是基础的Hap的page文件:index.etsjsbuild(){Row(){Column...
2022-11-13 14:57:43 4464浏览 9点赞 3回复 4收藏
作者:王石在《跟着小白一起学鸿蒙[八]蓝牙应用》我们熟悉了如何在开源鸿蒙开发蓝牙应用。在《跟着小白一起学鸿蒙[十一]WiFi&蓝牙子系统》,我们了解了各种系统内的蓝牙和WiFi框架,接下来我们就深入分析下开源鸿蒙的蓝牙结构和各层作用及工作内容。概述在开源鸿蒙的源码里和系统功能相关的部分大多都放在foundation这个文件夹里,而通讯相关的部分则是在communication这个文件夹内。我们本篇要分析的蓝牙功能就是在foundationc...
2022-11-07 09:49:44 4799浏览 11点赞 4回复 6收藏