「码动四季·开源同行」HarmonyOS应用开发:鸿蒙系统概述

1.移动通讯技术的发展
1G时代:
1980年摩托罗拉开发出了第一部手机,使用的就是1G的技术。只能进行语音通话。就是大哥大。
2G时代:
1996年到1997年出现了第二代GSM、CDMA等数字制式手机,增加了接收数据的功能。2G不仅可以通话,还可以数据收发的功能,最开始的速度只有9K/S。如果我想收发一些图片或者音频技术是不可能的,因为速度太慢了。
后来随着互联网多媒体的流行,多了图片,视频等,所以2G在手机上就显得非常的慢。然后就有了一个过渡的版 本。EDGE也就是2.5G,大家以前玩手机的时候,看到手机上有小E,就表示你现在用的是2.5G网。这是2G的升级 版。理论带宽可以达到172K/S。但是真正使用的时候,也就15-20 KB/S左右的速度。
这个时期,流行的手机有摩托罗拉和诺基亚,常用的手机操作系统就是诺基亚的塞班。这个时代的手机是不能指定手机软件的,所有的手机软件都是出厂的时候,由厂家指定的。
3G时代:
到了2009年的时候,出现了第三代通信网络,网速大大提高,理论速度可以达到1Mbps/S。在实际使用的时候,下载速度差不多在120KB/S~600KB/S。基本可以视频通话了,也可以接收一些比较小的视频了。微博兴起,网络大V也渐渐的涌现出来。
这个时期,出现了智能手机,最大的特点就是可以自己指定手机软件了。想要手机有什么功能,就下载对应的app就可以了。常见的操作系统就是安卓和IOS。
4G时代:
到了2013年的时候,出现了第四代通信网络,理论速度可以达到10~100Mbps/S的下载速度。在实际使用的时候,下载速度差不多在1.5M/s-10M/s。速度更快了,而且流量比3G时代便宜很多。在3G的基础上也可以接收一些高清的视频,此时,抖音,快手等短视频APP成为了大家的最爱。
安卓和IOS依旧制霸这个时代。
5G时代:
到了2020年就开始出现了,理论速度达到10Gbps/S,平时使用的速度也能稳定在1GB/s~2GB/s,并可以实现1080P高清视频的同摄同传。
在这个时代,无人车,无人机,物联网等渐渐出现在了大家的生活,在高网速下,电影分分钟就可以下载完成。
暂时还没有操作系统可以定义这个时代,而鸿蒙操作系统瞄准的也是这个时代。在以前的智能手机中,可以根据自己的喜好自己定制软件。在鸿蒙系统中,手机不仅仅是手机,而是超级终端的控制器。利用鸿蒙可以根据自己的需求来组装不同的硬件设备。让手机、TV大屏、无人机等形成一个整体。手机作为控制的超级终端,可以轻松的控制他们。
所以鸿蒙并不是想替代安卓,而是把目光瞄准了下一个移动互联网时代。
2. 鸿蒙的学习路线图
鸿蒙是一个整体,并不仅仅是手机操作系统,所以,鸿蒙的学习分为四部分:
- 鸿蒙介绍
- 手机控制终端,也就是app开发。
- 硬件开发
- 项目实战
鸿蒙介绍:
这个章节,我们会对学习如下知识点:
- 鸿蒙系统的深入分析
- 鸿蒙的特点
- 鸿蒙跟安卓进行全方位的对比
鸿蒙应用开发:
因为涉及的内容非常多,所以我们分为:
- 鸿蒙应用开发入门
- 鸿蒙应用开发进阶
入门篇中,我们会学习纯APP开发。
到了进阶阶段中,我们继续深入的学习app来发。学习app开发中的高级内容。
让大家对app开发有一个全方位的掌握。
鸿蒙应设备开发:
- 鸿蒙设备开发入门
- 鸿蒙设备开发进阶
项目实战:
项目的数量没有个数限制的。我们会持续更新。
因为鸿蒙能做的事情太多了。
比如:
- 1. 如何调用其他设备的硬件和数据。
- 2. 如何控制一些设备啊,像是控制冰箱,控制微波炉等。
- 3. 手机如何利用NFC碰一碰就能打开硬件的控制界面。
- 4. 如何跟服务器进行交互。
- 5. 如何利用大数据分析用户的习惯,从而进行有效的广告推荐啊。
诸如此类的项目太多太多。我们会把实际开发中常见都一一列举出来。项目的数量是没有限制的。我们会持续更新。
所以,我们的课程是全网中,最全面的,最系统的,而且不管是小白还是有经验的开发人员都会从中学习到你想要的内容并得到提升。

3.鸿蒙系统介绍
官方定义
鸿蒙是一个全场景,面向未来的操作系统。
解释:
鸿蒙并不是一个单纯的手机操作系统,而是手机 + 智能设备的总称。可以安装在包括手机、手表、无人机等很多设备上。
鸿蒙分为两类:
- 应用开发:也是整个鸿蒙的控制中心。(手机app)
开发语言:Java,js,C/C++(华为目前建议使用的还是Java)
内核:基于Linux内核开发的。
- 设备开发:也就是无人机,摄像机等硬件设备。
最合适的开发语言:C/C++
内核:基于LiteOS内核开发的。
于LiteOS的特点:轻量级(内核小于10k)、低功耗(1节5号电池最多可以工作5年)。
鸿蒙系统可以覆盖所有的设备,应用在智能设备上,比如摄像头、门铃、体温计等设备。
利用软总线将各个设备连接起来。
官方网址:
https://www.harmonyos.com
鸿蒙的特点:
one as all,all as one
HarmonyOS是新一代的智能终端操作系统,为不同设备的智能化、互联与协同提供了统一的语言。带来简洁、流畅、连续、安全可靠的全场景交互体验。
统一OS,弹性部署
一套操作系统,满足大大小小所有设备的需求,小到耳机,大到车机,智慧屏,手机等,让不同设备使用同一语言无缝沟通。
硬件互助,资源共享
搭载HarmonyOS 的每个设备都不是孤立的,在系统层让多终端融为一体,成为“超级终端”,终端之间能力互助共享,带来无缝协同体验。
一次开发,多端部署
开发者基于分布式应用框架,写一次逻辑代码,就可以部署在多种终端上。
应用自由跨端
HarmonyOS 原子化服务是轻量化服务的新物种,它提供了全新的服务和交互方式,可分可合,可流转,支持免安装等特性,能够让应用化繁为简,让服务触手可及。
用“简单”激活你的设备智能
HarmonyOS 是新一代智能终端操作系统。为不同设备的智能化、互联与协同提供了统一的语言。设备可实现一碰入网,无屏变有屏,操作可视化,一键直达原厂服务等全新功能。通过简单而智能的服务,实现设备智能化产业升级。
鸿蒙和安卓的对比
- 内核方面的对比
安卓系统是基于linux的宏内核设计 ,宏内核包含了操作系统绝大多数的功能和模块,而且这些功能和模块都具有最高的权限,只要一个模块出错,整个系统就会崩溃,这也是安卓系统容易崩溃的原因。好处就是系统开发难度低。
鸿蒙操作系统是微内核设计:微内核仅包括了操作系统必要的功能模块(任务管理、内存分配等)处在核心地位具有最高权限,其他模块不具有最高权限,也就是说其他模块出现问题,对于整个系统的运行是没有阻碍的。微内核稳定性很高。
而且鸿蒙系统包含了两个内核,如果是手机app是基于Linux内核,而如果是其他的硬件是基于LiteOS内核。
- 运行速度的对比
安卓程序不能与系统底层直接进行通信活动,是运行在虚拟机上的。如果虚拟机出了问题话的那系统就是卡住。
鸿蒙系统中的方舟编译器解决了这个问题的,任何由编译器编译的软件,是直接运行在操作系统中的,可以直接与系统底层进行通信。
- 作为手机操作系统的对比
安卓和鸿蒙都是基于安卓开源项目(AOSP)进行开发的。
而安卓开源平台是可以在开源许可下自由使用和修改的。国内外很多手机厂商都根据这套代码制定了自己的操作系统,比如:三星、小米、魅族等。而华为也是基于这套开源体系,制定了鸿蒙操作系统。
鸿蒙操作系统的构成:
HarmonyOS = 安卓开放平台的开源代码 - GMS - 安卓UI + HMS + 鸿蒙UI + 分布式软总线 + 以Ability为核心的应用开发框架。
- 连接其他设备的对比
安卓手机连接其他设备,不管从app开发方面,还有使用方面都非常麻烦,而且如果换一个第三方设备,还需要把发现,配对,连接,组合,验证的过程再次操作一遍。
但是鸿蒙就非常简单了,从app开发方面,只要写很少的代码就可以调用第三方硬件,从使用的角度来讲,不管是多少设备连在一起,鸿蒙的终极目标是都能像使用一台设备那样简单。
鸿蒙会取代安卓吗?
如果有的同学有这样的想法,那么格局太小了。针对于IT行业,一般来讲头部力量或者已经形成生态的东西,很难撼动他的地位。鸿蒙的出现并不是为了取代安卓,而是把眼光放在下下一个时代,也就是5G时代。在5G时代中,最重要的是万物互联的时代。华为是想要在5G时代占据主导权。
几张图说明鸿蒙





为什么要学习鸿蒙开发?
开发者的角度:
- 安卓操作系统连接外部设备时,发现,配对,连接,组合,验证每一步都不能少。连接上了之后才能调用控制第三方设备。换一个设备之后,所有的代码需要重写。所有用安卓也可以连接外部设备并进行控制,但是太过于麻烦。 而且不具备通用性。
- 鸿蒙操作系统就解决了这个痛点,设备与设备之间的连接就不需要我们开发者自己去写了,每一个设备都安装上鸿蒙操作系统之后,鸿蒙系统会通过软总线把这些设备都连接在一起。我们在应用开发的时候,只需要写很少的代码就可以调用第三方设备,就好像是使用手机本身的设备一样方便。
- 所以,在鸿蒙的整个体系中,手机不仅仅是手机了,而是一个超控控制终端。这个终端可能会有十个屏幕,十个喇叭等。调用手机本身的硬件跟调用外部的硬件几乎没有任何差别。
使用者的角度:
- 安卓操作系统中,所有的操作都是在手机上的,比如我们在导航的时候,都是用手机进行导航。但是在有的时候,我们是不方便拿着手机导航的,比如下雨天一个手撑伞一个手拎东西。 而在鸿蒙操作系统中,我们就可以把手机导航直接迁移到鸿蒙手表中就可以了。用户使用起来非常方便。
- 比如:我在A手机上编辑一封邮件的时候,需要添加一个excel附件。但是这个附件不在A手机上面,而是在B手机上面。传统做法要么就是从B手机上发过来,要么就是电脑复制文件,再粘贴过来,挺麻烦的。但是如果使用鸿蒙系统就方便了。我们可以直接数据迁移,把A手机里面编辑的邮件,迁移到B手机上。或者通过鸿蒙系统连上B手机之后直接使用B手机里面的附件。
- 除此之外,如果利用安卓操作系统控制硬件还需要下载很多的app,每一个app都有好几十兆,甚至上百兆。比如我要控制美的的冰箱,就需要下载一个app,要控制微波炉,又要下载一个app,如果我家里有100个电器,那么就要下载100个app,太麻烦了。在我们生活中,最烦的事情就是在手机中下载各种各样的app。而且下载完了之后,还需要扫描硬件,发现硬件,连接硬件,最后才能控制。
鸿蒙就为用户解决了这个问题,如果我们要控制冰箱,我们只要利用鸿蒙手机碰一下冰箱对应的芯片,那么鸿蒙手机就会到自己的应用中心,把控制冰箱的模块下载到手机里面然后直接打开控制中心,中间花费时间大约3秒左右,用户根本感觉不到下载和安装的过程。同理,如果我们要控制微波炉,也只要用手机碰一下微波炉对应的芯片,那么鸿蒙手机就会到自己的应用中心,把控制微波炉的模块下载到手机里面然后直接打开控制中心,对于用户来讲,非常的方便。所以鸿蒙一旦在市场铺开之后,用户用起来会非常的爽。
4、开发环境搭建
开发鸿蒙适合的语言
Java、C/C++、js
- Java、js适合用于手机应用的开发。
- C/C++适用于硬件的开发。
在以后的鸿蒙版本中(华为计划是3.0),即将推出仓颉语言开发。
仓颉语言是华为自主研发的一款语言。
但是就目前而言,华为主推的还是Java。
鸿蒙开发的完整流程

Java开发的准备工作
(1)注册华为开发者账号:
开发之前,需要注册华为开发者账号并且实名认证才可以,否则无法使用远程模拟器。
第一步:注册
打开华为开发者联盟官网,点击右上角的”注册”进入注册页面。可以通过电子邮箱或手机号码注册华为开发者联盟帐号。
网址:https://developer.huawei.com/consumer/cn
手机号注册截图如下

邮箱注册截图如下:

第二步:实名认证
登录之后,点击右上角的箭头,再点击实名认证,按照提示的步骤和实际情况进行认证即可

下载开发工具
DevEco Studio就是鸿蒙应用开发的开发工具,是基于IntelliJ IDEA Community开源版本打造的,所以如果大家有idea的基础,在学习DevEco Studio是非常容易上手的。
DevEco Studio中提供SDK Manager统一管理SDK和这个包依赖的工具链。通过SDK Manager能自动下载各个语言对应的SDK包。
下载网址:
https://developer.huawei.com/consumer/cn/deveco_studio
版本说明:
DevEco Studio 1.0 用于华为EMUI系统的应用App。
DevEco Studio 2.0 用于华为鸿蒙系统的应用App。
使用Java开发
开发工具会帮我们自动下载JDK、展示界面以及开发工具等相关软件。所以我们不需要自己安装JDK等环境。
JDK和工具链
JDK: 是Java语言所需要的开发环境。鸿蒙开发工具DevEco Studio会帮我们自动下载。
鸿蒙开发工具目前只支持JDK8。
工具链: 就是开发软件DevEco Studio里面需要用到的一些插件工具。
1. Toolchains:SDK工具链,HarmonyOS应用开发必备工具集,包括编译、打包、签名、数据库管理等工具的集
合,首次下载SDK时默认下载。
2. Previewer:Lite Wearable预览器,在开发过程中可以动态预览Lite Wearable应用的界面呈现效果,默认不自动下载,需手动勾选下载。
安装开发工具
安装IDE时候的坑1:一直加载gradle
1. 下载指定的gadle版本
可以到 官网下载或者借助网友提供的下载好的版本,直接下载使用。
2. 打开DevEco studio自动加载路径
默认在这个目录:C:\Users\Administrator.gradle\wrapper\dists\gradle-6.3-all\b4awcolw9l59x95tu1obfh9i8
3. 下载好的zip文件放进去
将下载好的gradle文件复制在以上文件夹内(注意一定要放置在类似“3221gyojl5jsh0helicew6rwx”目录下),重启软件即可。
4. 修改模板
首先进入/plugins/harmony目录,这是DevEco Studio的插件目录。在该目录下继续找到
lib/templates/gradle/wrapper/gradle/wrapper/gradle-wrapper.properties文件,该文件就是每次创建 HarmonyOS工程时的gradle-wrapper.properties文件,打开该文件,将distributionUrl改成http://127.0.0.1/gradle-6.3-all.zip即可。然后重新启动DevEco Studio。
安装IDE时候的坑2:模拟器刷不出来
开发应用的时候需要模拟器跑效果,需要在DevEco Studio菜单栏,点击Tools > HVD Manager开发模拟器,第一次打开,会自动下载相关资料。
- 注意1:浏览器一定要更新到最新版本,否则可能模拟器刷不出来。
- 目前亲测可用的浏览器有:chrom(谷歌)、火狐浏览器、360急速浏览器、360安全浏览器。
- 注意2:模拟器不是本地的,而是远程的,需要先登录才可以使用,登录的账号就是我们刚刚注册并实名认证的开发者账号。
- 注意3:模拟器启动之后只能用一小时,时间到了之后,关闭模拟器重新开启即可。
开发工具常见设置
修改主题

字体大小

取消注释斜体并修改注释颜色

自动提示忽略大小写

修自动导包

修改自动提示的快捷键

5、DevEco Studio项目结构
最外面的结构:
MyApplication:整个项目的项目名
External Libraries:项目中要导入的第三方jar包

MyApplication的结构:
展开MyApplication之后,发现很多目录,但是不是所有目录在开发中都需要经常用到的。
- .gradle:是项目管理工具gradle的信息(一般是不会动)
- .idea:是开发工具的信息(一般不会动)
- entry:是应用主模块,在一个项目中,有且只有一个,所有的代码都在这个里面。(重要)
- gradle:项目管理工具gradle的配置信息和所需要用到的jar包,在这个里面有一个porperties的配置文件, 可以看到gradle的版本号,一般我们会用默认的,也不会动
- build.gradle:第三方jar包的配置文件,以后在开发中要用到第三方jar包需要在这个里面配置。
- gradlew:是gradle命令工具对应的脚本文件,一般不用。 一个是linux系统的,一个是windows系统的。
- local.properties:本地SDK配置信息,一般也不动。

entry的结构:
- build:一般不会动,这个文件夹里面有一个R文件,记录每一个资源文件对应的id。里面的内容是自动生成的。 R文件是一个压缩包,里面装的ResourceTable这个类的字节码文件。
- libs:第三方jar包存放的位置
- src:主要代码
- src里面还有三个目录
- main:是我们自己写的主要代码。
- ohosTest:华为的测试工具。
- test:是Junit的测试工具。

main里面的结构目录:
我们自己写的代码就在main里面。
main里面主要分为三个部分:
- java:里面是我们写的所有代码。
- resources:里面是我们跟界面相关的资源文件。
- config.json:是界面相关所有配置信息,每一个界面都需要在这个里面进行配置。

小结:
- 1. 在MyApplication中,我们暂时只要关心entry,这个里面是项目相关所有的资源文件和代码都在里面。
- 2. 在extry中,主要知道libs和src即可。
- 3. libs中存放第三方jar包
- 4. src中放主要代码
- 5. 在src中的main是我们主要写的代码
- 6. ohosTest是华为的测试代码
- 7. test是Junit测试代码
- 8. src中的main是我们写的所有代码
- 9. src中的resources是我们写的所有界面的布局文件
- 10. config.json里面配置了所有界面相关的信息
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)