>极客内参 > 技术 > 正文

鸿蒙简介以及从零开始开发一个HarmonyOS应用

鸿蒙简介以及从零开始开发一个HarmonyOS应用

文章目录

一、鸿蒙系统介绍二、从零开始开发一个鸿蒙harmonyOS应用 1.环境搭建2.项目工程结构介绍

一、鸿蒙系统介绍

HarmonyOS是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。HarmonyOS提供了支持多种开发语言的API,供开发者进行应用开发。支持的开发语言包括Java、XML(Extensible Markup Language)、C/C++ 、 JS(JavaScript)、CSS(Cascading Style Sheets)和HML(HarmonyOS Markup Language)。 

1、鸿蒙系统架构

HarmonyOS整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 功能/模块”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块,如下图所示。

鸿蒙简介以及从零开始开发一个HarmonyOS应用

2、鸿蒙系统技术特性

硬件互助,资源共享 一次开发,多端部署统一OS,弹性部署

二、从零开始开发一个HarmonyOS应用

1.环境搭建

1.1开发工具

Java:编译构建依赖JDK(版本>=1.8)

Node.js:应用于开发JS应用和运行预览器功能(版本>=12.0.0)

1.2开发工具下载配置

官网下载地址:https://hmxt.org/deveco-studio 提供windows和mac下载

下载完成后下一步安装

鸿蒙简介以及从零开始开发一个HarmonyOS应用

安装过程中出现问题可以点击官网查看

1.3配置sdk

Project Structure–>SDK Location,修改HarmonyOS SDK和Nodejs的位置

鸿蒙简介以及从零开始开发一个HarmonyOS应用

1.4配置SDK Platforms和SDK Tools

Apperance&Behavior–>System Settings–>HarmonyOS SDK,下载SDK Platforms和SDK Tools

鸿蒙简介以及从零开始开发一个HarmonyOS应用

1.5模拟器创建

目前鸿蒙调试可以使用真机或者华为提供的远程模拟器,真机目前需要开发者报名参加公测招募,审核通过后就可以收到HarmonyOS Beta版本的OTA推送升级(https://developer.huawei.com/consumer/cn/activity/301607581257578636)

模拟器创建需要认证开发者账号后即可使用远程的机器调试,点击Tools下的HVD Manager

鸿蒙简介以及从零开始开发一个HarmonyOS应用

然后选择需要调试的设备

鸿蒙简介以及从零开始开发一个HarmonyOS应用

启动P40远程模拟器,为了防止开发者滥用资源,每次启动仅有1小时使用时间,但时长结束后可以无限重启。

鸿蒙简介以及从零开始开发一个HarmonyOS应用

1.6创建第一个helloworld项目

打开DevEco Studio,依次点击:File–>New–>New Project,创建一个新项目,可以看到支持多种类型,默认选择手机下一步即可

鸿蒙简介以及从零开始开发一个HarmonyOS应用

什么都不需要修改单击运行,一个hellowrld就出现在了p40模拟器上,至此完成从零开始创建一个鸿蒙os应用

鸿蒙简介以及从零开始开发一个HarmonyOS应用

2.项目工程结构介绍

.gradle:Gradle配置文件,由系统自动生成,一般情况下不需要进行修改

entry:默认启动模块(主模块),开发者用于编写源码文件以及开发资源文件的目录

entry>libs:用于存放entry模块的依赖文件

entry>src>main>Java:用于存放Java源码

entry>src>main>resources:用于存放应用所用到的资源文件,如图形、多媒体、字符串、布局文件等

资源目录资源文件说明base>element包括字符串、整型数、颜色、样式等资源的json文件。每个资源均由json格式进行定义,例如: boolean.json:布尔型 color.json:颜色 float.json:浮点型 integer.json:整形 pattern.json:样式 plural.json:复数形式 strarray.json:字符串数组 string.json:字符串值base>graphicxml类型的可绘制资源,如SVG(Scalable Vector Graphics)可缩放矢量图形文件、基本的几何图形(如矩形、圆形、线等)shape资源等base>layoutxml格式的界面布局文件。base>media多媒体文件,如图形、视频、音频等文件,支持的文件格式包括:.png.gif.mp3.mp4等。base>profile用于存储任意格式的原始资源文件。区别在于rawfile不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用rawfile用于存储任意格式的原始资源文件。区别在于rawfile不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用

**entry>src>main>config.json:**HAP清单文件

entry>src>test:编写代码单元测试代码的目录,运行在本地Java虚拟机(JVM)上

entry>.gitignore:标识git版本管理需要忽略的文件

entry>build.gradle:entry模块的编译配置文件

config.json属性介绍

鸿蒙简介以及从零开始开发一个HarmonyOS应用

设备开发对应语言:

设备语言PhoneJava、JSTabletJava、JSCarJava、C++TVJava、JSWearableJava、JSLite WearableJSSmart VersionJS

 

最后详细的资料可以参考华为开发者学院鸿蒙应用开发官方教学视频地址:https://developer.huawei.com/consumer/cn/training/paths/c1a74183-8245-4208-9c45-fa79367f06b2

 


企业会员

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。

Baidu
map