0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于OpenHarmony开发样例的步骤

OpenAtom OpenHarmony 来源:OpenAtom OpenHarmony 作者:OpenAtom OpenHarmony 2022-09-20 10:30 次阅读

单丝不成线,独木不成林,一个社区想要健康蓬勃发展离不开社区参与者的持续贡献。而社区贡献点有很多种,本文以贡献OpenAtom OpenHarmony(以下简称“OpenHarmony”)开发样例为例,围绕以下5个问题,带大家了解上手并参与社区贡献。

1.如何参与社区?

2.什么是开发样例?

3.社区需要什么开发样例?

4.如何开发样例?

5.样例能够给“我”带来什么?

如何参与社区

参与社区主要分为如下两种方式: •提交Issue

Issue指的是一项待完成的工作,中文可以译为“问题”或“事务”,例如软件的bug、功能建议、待完成的任务、文档缺失的报告等。

•提交Pull Request

Pull Request(PR)是一种通知机制。你修改了他人的代码,将你的修改通知原来的作者,希望他合并你的修改,这就是Pull Request。

因此你可以认为Issue是发布社区任务的方式,PR是完成社区任务的方式。既然是深度参与社区,必然是要做社区任务的“完成者”。

那么该如何提交PR呢?上面也说了提交PR其实就是提交自己的修改/新增的代码,是基于代码进行的,而代码则有如下3种提交方式:

•文档/注释补充完善

•开发样例提交

•OS功能开发

3种提交方式难度依次递进,本文主要讲解开发样例提交。

什么是开发样例

开发样例可分为如下两部分: •API使用范例的Sample

针对各种SDK API进行开发的样例,开发者可以快速熟悉OpenHarmony SDK所提供的API和应用开发流程。

•场景化Demo

生活场景的解决方案样例。

开发者通过阅读、学习和运行样例能够快速上手应用开发,并学习到其中的项目技术点或项目实现方案等。

社区通过发布样例的方式,帮助开发者快速上手学习OpenHarmony,那么作为开发者我们在学习和上手OpenHarmony后,要如何以样例的方式回馈和提交到社区呢?

社区需要什么样例

在开发样例前,需要先知道社区需要的是什么样例,那么在样例提交时才能更好地被社区所认可和接受。

社区需要的样例可分为两大类:

•Samples仓库未覆盖到的SDK API Sample;

•基于日常生活的解决方案demo;

那么如何才能发掘到社区需求的样例呢?

Sample

Sample是指针对各种SDK API进行开发的样例如下图所示,所以可以对比API文档进行查阅搜索未涉及的API,然后进行样例开发。

360d7e72-381d-11ed-ba43-dac502259ad0.gif

下图左侧为applications_app_samples仓库样例,右侧为JS及TS API文档,可进行对比查阅。

3642232a-381d-11ed-ba43-dac502259ad0.gif

除此之外,还可以通过查询版本说明,在特性变更中寻找仓库未涉及到的新特性,对新特性进行Sample开发。下图为OpenHarmony 3.2 Beta2版本说明。

场景化demo

场景化demo是OpenHarmony知识体系工作组下针对智能家居场景、影音娱乐场景、购物消费场景、运动健康场景、智能出行场景、智慧办公场景等生活场景进行开发的解决方案样例。那么我们则可以根据日常生活的需求,寻找生活场景下的痛点,开发解决方案样例。

下图为知识系统工作组knowledge仓库

36b2be96-381d-11ed-ba43-dac502259ad0.gif

场景仓库汇总:

智能家居场景

https://gitee.com/openharmony-sig/knowledge_demo_smart_home

影音娱乐场景

https://gitee.com/openharmony-sig/knowledge_demo_entainment

购物消费场景

https://gitee.com/openharmony-sig/knowledge_demo_shopping

运动健康场景

https://gitee.com/openharmony-sig/knowledge_demo_temp

智能出行场景

https://gitee.com/openharmony-sig/knowledge_demo_travel

智慧办公场景

https://gitee.com/openharmony-sig/knowledge_demo_temp

快速上手场景

https://gitee.com/openharmony-sig/knowledge_demo_temp

其他场景

https://gitee.com/openharmony-sig/knowledge_demo_temp

我有一个idea

基于平时出入门禁和打卡签到等日常生活场景,发现生活中有许多与人脸识别相关的需求,在查阅OpenHarmony社区后,发现并没有类似样例,于是开发人脸识别样例的想法便油然而生,那有了好的idea后应该怎么做呢?

如何开发样例

如下图所示,以人脸识别demo为例大致可以将开发样例分为5大步骤:

373ba81e-381d-11ed-ba43-dac502259ad0.png

•上手学习

通过阅读官网文档、在线课程、学习路径和开发者文档等,认识了解OpenHarmony开源项目,熟悉应用开发/设备开发流程等。

375e0670-381d-11ed-ba43-dac502259ad0.gif

•技术选型

经查阅后发现GitHub上有开源的人脸识别引擎Seetaface2,OpenHarmony 3.2 beta中也有可用的媒体库和相机等API,于是便可以基于润和HH-SCDAYU200开发套件的硬件平台,与基于OpenHarmony 3.2 beta、Seetaface2和OpenCV的软件平台进行项目开发。

•项目设计

样例一共规划有4项功能分别为:人脸拍摄、人脸录入、人脸框选和人脸识别,其中人脸拍摄通过拉起相机应用进行拍照,再通过媒体库API获取相册图片。人脸录入、人脸框选和人脸识别功能则通过将Seetaface2移植到OpenHarmony中,并利用NAPI组件将Seetaface2接口进行封装和暴露给应用来调用,最终在人脸识别FA中实现这四大功能。

37a48348-381d-11ed-ba43-dac502259ad0.png

•编码调试

根据项目设计进行相应ArkUI代码和逻辑代码编写。

37ccd974-381d-11ed-ba43-dac502259ad0.png

开发中遇到技术问题可通过查询文档,或在对应仓库搜索相关Issue,然后提交Issue寻找解决办法。

37f3b09e-381d-11ed-ba43-dac502259ad0.gif

样例最终演示效果:

•代码提交

参考如何提交代码

样例能够给“我”带来什么

享受开源,收获成就

成为OpenHarmony开源共建者,在仓库共建者名单拥有自己“一席之地”。

381999d0-381d-11ed-ba43-dac502259ad0.png

OpenHarmony共建者徽章:提交过PR的小伙伴可通过访问https://metrics.openharmony.cn/#/codeContributor进行领取。

优秀样例可申请:

•OpenHarmony官网开发样例展出;

386ec07c-381d-11ed-ba43-dac502259ad0.png

•OpenAtom OpenHarmony公众号展出;

38a8c240-381d-11ed-ba43-dac502259ad0.png

•展会进行样例展出;

38c704c6-381d-11ed-ba43-dac502259ad0.png

提升技术,扩展视野

•个人技术能力与编码水平的提升;

•参与社区与更多的技术专家与开发者接触和交流;

38fb2ed6-381d-11ed-ba43-dac502259ad0.png

成为“社区大佬”

贡献样例作为社区成长进阶的敲门砖,可以逐渐参与到OpenHarmony 社区代码贡献、文档贡献、技术方案讨论及设计、解答用户问题、发表技术文章及视频课程等,最终由社区用户逐渐成长为SIG负责人或PMC成员,逐渐走向“社区技术大佬”。

参考社区成长路径。

391e30b6-381d-11ed-ba43-dac502259ad0.png

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码
    +关注

    关注

    30

    文章

    4555

    浏览量

    66739
  • 人脸识别
    +关注

    关注

    76

    文章

    3954

    浏览量

    80554
  • OpenHarmony
    +关注

    关注

    23

    文章

    3272

    浏览量

    15159

原文标题:如何贡献OpenHarmony开发样例

文章出处:【微信号:gh_e4f28cfa3159,微信公众号:OpenAtom OpenHarmony】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    OpenHarmony开发】基于 BearPi-HM Nano 套件开发的智能台灯

    。其中windows 工作台用来烧录和代码编辑,Linux编译服务器用来编译OpenHarmony代码,为了简化步骤,Linux编译服务器推荐安装Ubuntu20.04。安装和配置Python打开
    发表于 03-04 15:01

    OpenHarmony开发】智能家居相关demo汇总

    设备联动。9、基于全志XR806开发开发的智能体重秤本demo基于OpenHarmony3.1Beta版本开发,该
    发表于 03-04 16:32

    OpenHarmony开发】基于BearPi套件开发的智能甲醛检测系统

    ,Linux编译服务器用来编译OpenHarmony代码,为了简化步骤,Linux编译服务器推荐安装Ubuntu20.04。安装和配置Python打开Linux终端。如果使用ubuntu20.04
    发表于 03-14 10:25

    OpenHarmony标准设备应用开发笔记汇总

    的几个基于OpenHarmony3.1 Beta 标准系统的:分布式音乐播放、传***、购物车等,分别介绍下音乐播放、显示动画、动画
    发表于 03-28 14:19

    基于OpenHarmony开发的demo展示

    基于OpenHarmony开发的demo,包括智能停车场、分布式游戏、分布式音频播放、分布式菜单、视频播放器等~
    发表于 04-27 15:12

    烧录OpenHarmony 3.2(尝鲜版)步骤

    如下所示:其它步骤和烧录3.1release一,跟着步骤走就行。关于开发板连接IDE工具DevEco Studio 3.0 Beta3 for O
    发表于 05-22 12:14

    开发】基于 OpenHarmony 开发的JS灯控应用

    一、使用的开发板:BearPi-HM MicroBearPi-HM Micro开发板是一块高度集成并可运行Openharmony系统的开发板,板载高性能的工业级处理器STM32MP15
    发表于 07-20 14:40

    开发OpenHarmony分布式购物车

    OpenHarmony分布式购物车一、简介1.效果分布式购物车demo 模拟的是我们购物时参加满减活动,进行拼单的场景;实现两人拼单时,其他一人添加商品到购物车,另外一人购物车列表能同步更新,且
    发表于 07-29 14:17

    开发】用JS写一个OpenHarmony拼图小游戏

    一、简介1.效果本Demo是基于OpenHarmony3.0 LTS,使用JS语言编写的拼图小游戏。2.涉及OpenHarmony技术特性JS UI3.支持
    发表于 07-29 14:25

    每日推荐 | E103-W05 WiFi模块试用活动,OpenHarmony智能风扇

    。E103-W05 AT 指令大部分兼容 E103-W01模块,无论老用户还是新用户均使用方便,上手快,是物联网应用中不错的数传伙伴。3、【OpenHarmony】基于启航KP_IOT开发
    发表于 08-03 10:00

    基于 OpenHarmony 系统开发的语音识别

    简介VoiceRecoDemo是装在OpenHarmony系统中的应用,可以使用在汽车4S店的展示厅,客户可以通过语音来控制显示具体车辆的内饰,外观,车灯,后备箱等。
    发表于 08-17 11:04

    OpenHarmony】基于RK3399开发开发的智能门禁人脸识别(JS)

    一. 概述本是基于RK3399开发板,使用OpenHarmony3.0-LTS开发的应用。通过定时获取摄像头数据,实现人脸识别比对等功能
    发表于 08-24 17:35

    基于OpenHarmony 的数字管家应用开发

    简介数字管家场景需要手机端、设备端和服务端三方协同完成,本文档介绍的demo是数字管家大场景中的手机端应用;用户注册登录后可创建我的家庭并管理家庭成员;可以添加设备(包括智能台灯,智能窗帘,智能
    发表于 09-14 14:07

    OpenHarmony应用签名方法的步骤

    debug开发,如需对外发布则必须完成release签名。在OpenHarmony中有AGC应用商店可以帮助开发者完成release签名,本文将介绍OpenHarmony应用签名方法的
    的头像 发表于 10-13 09:41 1359次阅读

    基于泰凌微电子平台实现OpenHarmony开发——代码下载和编译步骤

    上一节我们安装了一系列开发工具,准备好了OpenHarmony开发环境,这一节将会详细介绍OpenHarmony代码下载和进行编译的具体步骤
    的头像 发表于 03-08 13:47 927次阅读