基于OpenHarmony的案例

2022年6月

概述

HarmonyOS 是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS 提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。

作为一个新兴的操作系统,其正在不断发展中,而它的发展,离不开每一位开发者的共同努力,目前,官网上相关的示例代码,例子较少,不能够满足广大开发者的需求,很多同学应该都在鸿蒙HarmonyOS上开发过App了,体验大致也和开发Android App区别不大。鸿蒙应用开发与硬件结合,这个方面相关内容较少,通过这些开发板可以控制更多的硬件,通过软硬结合得方式更好得体验鸿蒙。因此在各大开源社区中贡献自己的代码就显得尤为重要了。

简介

OpenHarmony是一个开源社区。它完全依赖于社区提供友好的开发和协作环境,本实践,基于OpenHarmony开发一款弹砖块小游戏,以此来与其他开发者一起共建OpenHarmony开源社区。

本次案例所使用的开发板为大禹HH-SCDAYU200开发套件,其是基于瑞芯微RK3568设计的一款人工智能开发板,板载四核64位Cortex-A55处理器,采用22nm先进工艺,主频高达2.0GHz。支持OpenHarmony标准系统,集成双核心架构GPU以及高性能NPU,支持蓝牙、Wi-Fi、 音频、视频和摄像头等功能。拥有丰富的扩展接口,支持多种视频输入输出接口,适用于智能NVR、云终端、物联网网关、工业控制、信息发布终端、多媒体广告机等场景。

本次开发所使用的IDE为DevEco Studio,基本思路如下:

  1. 创建地图板块,上半部分是放置砖块盒子,砖块选择动态创建;底部放置小球和滑块;设置他们相应的样式
  2. 根据brickBox大小,规定砖块大小,计算砖块数量,根据砖块数量动态创建
  3. 滑块跟随鼠标进行移动

滑块点击事件,小球移动。检测小球碰撞

成果

经过了这一段时间的开发工作,本次实践获得了成功。基于OpenHarmony所开发的弹砖块小游戏达到了预期。

在本次实践相较于之前,最大的不同是本次更加偏重于硬件,由于长时间对软件的开发学习,我们很容易忘记硬件的相关知识,而事实上,软件与硬件是密不可分的,硬件是软件的基础,没有硬件的软件是无法发挥出作用的,软件是基于硬件的。在实践实践中,我遇到过许多版本不匹配等错误信息,这些错误在软件开发中虽然存在,但是在使用开发板后,这个问题更加凸显,为了解决这个问题,我在实践过程中也查阅了大量的资料,翻阅了大量的文档,最终解决了这个问题

经过这次实践,我不但增强了自己的自学能力与研究能力,而且从中学到了很多平时在课堂上所学不到的东西。此次实践我也更深刻地体会到了软件开发工作的不易,这种不易在本次开发中显得尤为突出:由于涉及到硬件,软硬件之间的交互就显得格外重要,不易解决,但在此同时又会收获到解决问题后难得的喜悦心情。这次实践的过程,也是我越来越认识到自己知识与经验缺乏的过程。虽然,我尽可能地收集材料,竭尽所能运用自己所学的知识进行实验编写修改,但可能还是存在许多不足之处,有待改进。此外我要感谢这次开发过程中为我提供指导、帮助的老师,与我共同开发项目的同学以及其他为我提供帮助与便利的人,在他们的协助下,我才能完成本次实践。