鸿蒙设备开发题库,鸿蒙系统根据什么开发的

华为计划在手机上推出鸿蒙操作系统,这是个什么样的系统?

2020年9月15日,是特别的一天。

创新互联是一家集网站建设,高坪企业网站建设,高坪品牌网站建设,网站定制,高坪网站建设报价,网络营销,网络优化,高坪网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

因为美国对华为的芯片新禁令正式生效。

自此,台积电、高通、三星、SK海力士、美光等主要元器件厂商将不再供应芯片给华为。

2019年,华为就推出了鸿蒙系统,积极应对美国禁令。

上周,华为召开了2020开发者大会,华为消费者业务 CEO 余承东宣布了最新的鸿蒙 OS 2.0 ,目标是“共建万物互联的全场景智慧生态”。

针对最新的鸿蒙系统,梁宁老师和鸿蒙的开发者与生态建设者进行了沟通,得到了关于鸿蒙系统的9个关键问题和答案。

我们征询梁宁老师授权,把她和鸿蒙开发者的沟通内容,独家分享给你。

希望能帮助你进一步认识华为的鸿蒙系统。

01. 鸿蒙的开发语言?

硬件驱动 C/C++,应用 JS

02. 鸿蒙与安卓最大的不同?

通过分布式技术,将手机与 IOT 设备进行无线组合,形成超级终端。

2.1 最大好处

让手机应用与 IOT 无缝互通。

以车载导航系统为例,过去通过蓝牙连接,只能播报路况语音。

现在鸿蒙系统提供分布式软总线技术进行连接,不是简单投屏,甚至还能分享 CPU 计算资源。

比如,使用车上 CPU 进行计算后,上传抖音视频时的压缩过程可以放到车上计算,缩短压缩时间,使得上传时间减少,手机功耗也会减少。

用更便捷的方式进行设备之间互相连接,使得应用能够编写一次,跑在不同设备上。

2.2 内核技术

安卓基于Linux Kernel。

鸿蒙为了支持在不同大小和形态下的设备,采取多种内核策略,这样能达到不同设备的最佳性能功耗。

这是安卓不具备的系统底层能力。

本次开源 LiteOS 技术是多款华为实际产品中沉淀出来的内核,12月支持Linux Kernel内核,兼容更多设备。

反正鸿蒙是开源,微内核会在大家眼皮底线长出来。

03. 什么时候、在哪里可以体验鸿蒙?

3.1 目前华为运动手表已经是鸿蒙系统,10月份发布。

华为手表现在是国内手表市场份额第一的产品,非常期待。

3.2 双十一,美的会推出采用鸿蒙系统的 IOT 产品,消费者可以体验到。

3.3 10-11月华为 Mate40 上将能看到一些鸿蒙的特性,可以在 EMUI 11 版本体验到。

3.4 现在华为的旗舰店,也可以体验鸿蒙“碰一碰”万物互联。

04. 鸿蒙计划的 1+8+N 的万物互联和小米的米家连接区别是什么?

小米生态所有产品都可以通过手机操作。

是因为小米生态产品通过加 SDK 通信组件,与小米手机连接,并进行通信。

鸿蒙系统手机与采用分布式技术的底层系统打通,可以实现音视频,甚至 CPU 级别的系统交互。

过去双摄像头、三摄像头发布后,大家调侃是否会出到100个摄像头,通过分布式能力,确实是可以的。

外部设备可以理解为通过无线的方式装载到手机里,你可以认为手机的范畴变大了,是万物互联的超级设备。

05. 鸿蒙系统与安卓系统是否兼容?

鸿蒙系统目前基于安卓系统,有300万个 APP。

鸿蒙选择兼容道路也是十分务实。

已有移植到鸿蒙,只需要在多设备互动的功能中使用的新 API 增量开发,大大降低应用适配难度。

06. 鸿蒙为设备厂商提供哪些支持?

6.1 开源免费

6.2 SDK

6.3 百万级源码

6.4 设备开发工具链

6.5 开发板模组

07. 鸿蒙为开发者提供哪些支持?

7.1 1万 API 调用

7.2 自主开发的框架

7.3 工具链

7.4 模拟器

7.5 需要获得技术支持可以到 Harmonyos.com 官网联系。

也可以自行到开源社区进行代码修改和提交。

开放性有开放原子开源基金会保障。(这个基金会,有时间再介绍)

08. 安卓强大在哪里?

15年积累。

占据近全球87%智能手机用户心智。

400名开发者(99% Google 员工)。

1.2亿行代码。

09. 为什么安卓也需要中国?

9.1 全球1/2的安卓手机是中国品牌。

9.2 全球1/4的安卓手机卖给中国用户。

9.3 Google 网站自己披露的非手机类 ODM 合作伙伴,一共50家左右,都是中国企业,具体来说,7成在深圳,近3成在上海地区。

简单来说,安卓最重要的伙伴,除了三星,全是中国企业!!!

综上,鸿蒙的雄心,三分天下有其一

深度解析:华为的鸿蒙系统和你想的可能完全不一样

(杭州健澜 科技 有限公司编辑:张景领 全文约4390字,预计12分钟可以读完)

华为的鸿蒙(Harmony OS)系统正式发布了,在发布会之后意料之中的出现了两极分化的评论趋势,说什么的都有,像什么忽悠人、改别人的、手机不能用等等,但如果你仔细去分析发布会上有关鸿蒙系统的全程内容,你会发现它和大多数评论中的那个“系统”是不一样的,大家不要盲目去诋毁“鸿蒙系统”,同时也不要肆意吹捧,否则很容易变成“捧杀”,在参与讨论之前,我觉得大家有必要先搞清楚,它是一个什么样的系统。

在发布会上,他们用了很多专业的名词进行功能解释,我相信这是大多数观众听不懂的,甚至大多数媒体的编辑也听不懂,在这种背景下,不管是吹捧的,还是诋毁的,都没在靠谱的频道上。

以下为我个人对鸿蒙(Harmony OS)系统的理解,现在就分享给大家:

目前我们正在使用的各种智能设备,如:手机、PC电脑、平板电脑、智能手表等,它们全都有自己的系统,即使是同一个品牌下的产品,也会有专门为它定制的系统,如苹果公司:

手机 iOS

电脑 MacOS

手表 watchOS

电视 tvOS

平板 iPadOS

虽然苹果公司将它们之间的互动做得很好,但仍然需要大量的人工来编写和维护不同的系统,站在开发者的角度来看,可能需要针对不同的平台调整不同的架构和UI,这是一个比较耗时的工作。

在使用的过程中,不同设备之间的系统需要去判断你的操作,然后根据不同的平台,不同的操作来给你调用不同的程序来执行,对苹果产品来说,自家产品之间互通体验还算不错,但如果和安卓设备或windows设备之间互动就显得麻烦很多,早期用苹果手机的人,想把照片拷贝到电脑上都很费劲,甚至这是很多苹果手机用户需要学习的第一课“如何把照片复制到电脑上”。

对Android系统的设备来说就更别提了,除了系统的碎片化之外,不同厂商之间都有自己的规则,没有一个统一的标准,再加上乱七八糟的第三方APP,导致安卓设备体验极差,相互之间想要达到完美契合的程度,需要比苹果付出更多人力和时间,所以很多大 游戏 或是应用,都是最新上架苹果商店,更新也是苹果设备先更新,因为相对来说,苹果系统更容易维护。

Android系统现在看上去还不错,但其实它有个很狼狈的过去。我学过软件开发,学会网站编程,学过数据库等N种编程语言,甚至稍微有那么一点点开发经验的人都会知道,如果你去修改一个别人的程序,如果这个程序一直在被不同的人,不同的时期维护,这里面就会出现大量的垃圾代码。

有垃圾代码不可怕,可怕的是谁也不敢动,不敢删。这些垃圾代码虽然看上去没用,但说不定某一条就与另一个指令相连,如果你删了就会产生连锁反应,甚至会导致系统崩溃,所以比较稳妥地做法就是,在不改变原有代码的情况下,把自己想要的功能再加进去,备注上自己的名字。

这会造成什么问题呢?我们举个例子:

你想从16楼到1楼拿快递,原本只要从固定的电梯直接到1楼即可,也就30秒不到,结果你从家出来发现楼道有30个电梯,上了一个之后发现它只到13楼,你只好下来再进另一个,运气好能到1楼,运气不好估计还得在6楼停一下,运气最差的情况你可能坐了20个电梯都还没到1楼。

这就是垃圾代码带来的副作用,现在的Android就是这个情况,大家都知道有垃圾代码,也知道它会影响运行效率,但谁也不敢动,或者说谁也不会去动,都不想承担系统崩溃的风险,这是人之常情。

华为的鸿蒙系统提出一个“微内核”的概念,其实这个谷歌新系统Fuchsia OS就是微内核的系统,它们希望用这个全新的系统来替代Android这种老弱病残的现状,因为它身上的顽疾太多了,还是没药可救的那种。

这种“微内核”的系统最大的好处就是,可以让开发者提交的应用,最方便、最快地适配所有硬件,这对消费者来说也有非常大的好处,你可以第一时间更新你手里的所有智能设备,类似苹果每年的大版本系统更新,几乎全球的用户都可以同时更新,这是国内Android用户这辈子都体验不到的,所以我们只能寄托于新的系统。

Harmony OS 鸿蒙,基于微内核的全场景分布式OS。

“基于微内核的全场景分布式OS”这句话是重点,它不是一个专门为单独设备准备的系统,它是一个平台式的系统,可以通过中心网络派发资源和功能,所有功能又可以单独使用,灵活多变但统一和谐。

我们再来深入地拆解一下鸿蒙系统,它与普通系统最大的不同之处在于,它在运行程序的一开始并不是直接执行所有内容,而是先判断你是什么设备,然后直接走单独的通道去执行,而所执行的这些程序,不管你是电视、电脑、还是手机,它们用的都是同一套系统,只是在最开始的时候选择了一下设备,这个系统并不是给某种设备单独定制的,而是一个通用的系统。

这样做的好处就是,每次你需要维护的时候,只需要把第一层的东西做升级,下面的底层是不用动的。这就好像系统是一台CD机,不管谁家的CD都可以在我这里播放,只要你按统一的Copy程序做的光盘就行了,如果你想听其他人的音乐,只要换张CD即可。

而以往的系统就比较麻烦,如果你想换一张CD,可能需要针对这张CD去制造一台CD机,最差也得把这台CD机修改成可以播放的样子。

除了设备间的独立之外,它会让硬件本身的功能成为系统可以调配的东西,比如手机上的摄像头,它甚至可以通过系统间的调度被电视或手表使用,因为它们用的是同一个系统,所以具备了相互通信的能力。

你们有没有看过《速度与激情》这部电影,它里面的天眼系统其实就是在调配所有生活周边的摄像头来获取画面,从而准确地追踪到目标人物。虽然鸿蒙还没有这么高级,但它已经是个雏形了。

相信很快我们就可以用家里的电视屏幕当大疆无人机的显示屏用了,这会给我们带来无限的 娱乐 空间。

当然要实现这种功能上的调用需要二个条件,第一个就是必须是采用了鸿蒙系统的硬件;第二就是必须登陆了相同的华为账号。这里面涉及到了另一个生态的问题,我们后面再讲,还是先说系统。

可以单独调配资源的另一个好处就是,它可以像我们现在的智能路由器一样,根据你正在做的事情来给你不同的性能。如果你正在玩 游戏 ,它可能会保证你玩 游戏 的同时,再去帮你升级一下系统,但它还不能影响你的网速;如果你正在看视频,在这种几乎不需要性能的场景时,它可能会在后台帮你彻底杀毒或自检一次,这种优化能力其实现在的手机也可以做到,但这个逻辑本身就是吃性能的,所以当它以系统的一部分出现的时候,才是最完美的。

这功能其实你是看不到的,但从其它地方你也可以间接发现,如:费电小了、发热小了、打开东西更快了、不用老去清理缓存了,蓝牙耳机玩 游戏 或许都没延时了(我发现了一些端倪,他们已经在做蓝牙耳机玩 游戏 降低延时的测试了,EMUI 10.0见)。

至于系统安全性方面,我并不是专家,所以在这里没办法给大家更深度的普及,但我可以说一下我个人的理解。鸿蒙系统这类微内核的系统,本身是非常小巧的,代码量也不大,所以它可以用到更深度的安全级别措施。

另外它天生就没有root权限,也就是说不会给任何第三方应用或个人系统最核心的权限,这也算是最大限度的保证安全的措施之一了。可能很多人说手机不能root就没什么可玩性了,但我个人认为没有是对的,因为这样可以最大限度的保证系统的安全以及流畅性。

可能你们还没注意到,很多手机第三方主题、字体、甚至动态壁纸,都会明显影响手机的流畅性,这里面字体的影响是最大的,很多莫名卡顿的现象换成系统默认字体立刻就好了。

我们来看一下鸿蒙OS的整体结构,其实它仍然保留了Linux内核,这样一来就可以直接兼容安卓应用,这在初期是非常重要的,毕竟不能让用户买回来没得用,在这段过度期中间,华为方面肯定会联合各大主流厂商定制属于鸿蒙OS的专用APP,这才是发挥它性能的最佳方式。

也就是说,在兼容安卓APP的这个时间里,它的威力还没办法完全施展出来,当那些采用“方舟编译器”开发的应用上线之后,才能发挥它至少八成以上的实力,当鸿蒙OS的生态建立完全时,才可以发挥接近100%的实力。这也是我为什么说,鸿蒙OS需要时间来沉淀,它不可能一上来就是满血状态。

我们可以理解为,现在所有用“方舟编译器”开发的应用,都可以在鸿蒙OS中发挥最快的效率。

当使用方舟编译器的应用足够多时,或者说90%以上常用APP都有方舟编译器的版本时,鸿蒙OS的底层会完全抛弃Linux内核,只保留鸿蒙微内核,这个时候才是鸿蒙(Harmony OS)系统正式独立且完全独立的日子,这一天才是它的真正崛起的日子。

为了早日实现这一天,其实华为方面下了很多功夫,甚至他为开发者提供了非常舒服的便携环境,很多基础操作都可以直接用拖拽的方式来完全设计,模块化编程是未来的趋势,我这种曾经只会手动敲代码的老古董已经被淘汰了。

它可以让你一次开发,同时适配所有搭载了鸿蒙OS的设备,这是无数安卓开发人员的梦想,只可惜在安卓系统上已经没办法实现了。

我估计后面华为会为开发者提供不错的奖励措施,有奖励,有平台,有目标,有未来,生态成型基本上就是时间问题。

【产品的诞生】

现在的鸿蒙OS是可以用在手机上的,但支持的APP并不是很多,而且生态还没有建立起来,这些都需要时间,之前我和瓦力读者说是2年时间,这与发布会上华为方面的规划基本是吻合的。

现在拿出鸿蒙OS的目的很简单,告诉大家鸿蒙OS并不只是PPT,它已经是完整的系统了,顺便让那些喷子闭嘴。另一个原因是,它的电视用上了鸿蒙OS,没必要藏着掖着,同时也是给那些应用开发者一个定心丸,让他们可以放心为鸿蒙OS开发应用。

这里有一个“因素”很重要,如果明天美国不让华为用安卓系统了,鸿蒙OS就必须提前应用到手机上,这是一个没办法的备选方案,至少可以用,虽然和常规安卓没什么大区别。

但如果换了另外一个厂商,如小米、OPPO、vivo等,这几乎是毁灭性的打击,所以防患于未然是必须要做的。但小米他们暂时没办法弄自己的系统,因为这需要很多钱,很多人,很多时间,即使有一天美国禁止全中国的手机厂商使用安卓系统,其实鸿蒙OS也可以给大家用,与其说它是华为的应急方案,倒不如说是全中国手机厂商的应急方案,其实如果不是万不得已,华为也不想这么早就把鸿蒙OS用在手机里,时间点太靠前了。

到了2020年,鸿蒙OS会被用到笔记本电脑、手环、手表中,2021年才是应用到手机上的最佳时机,那时候有没有安卓系统都已经无所谓了。这样做也是为了先把生态和周边做好,手机出来的时候,可以直接整合,用户上手就是完全版本的体验,这也是最稳妥的方式。

如果你对手机系统或是手机行业有一些了解,相信看完我上面的分享之后应该明白了,鸿蒙(Harmony OS)的目标根本不是Android,而是谷歌正在开发的Fuchsia OS,以及苹果正在部署的相应系统。

所以那些经常用Android来和鸿蒙(Harmony OS)说事的人,应该换换思路,是时候接轨下一代系统了。

2021-02-05鸿蒙开发(二.五)

Intent

Intent是对象之间传递信息的载体。当一个Ability需要启动另一个Ability时,或者一个AbilitySlice需要导航到另一个AbilitySlice时,可以通过Intent指定启动的目标同时携带相关数据。Intent的构成元素包括Operation与Parameters。

Intent的构成元素

Operation

Action: 表示动作,通常使用系统预置Action,应用也可以自定义Action。例如IntentConstants.ACTION_HOME表示返回桌面动作。

Entity:表示类别,通常使用系统预置Entity,应用也可以自定义Entity。例如Intent.ENTITY_HOME表示在桌面显示图标。

Uri:表示Uri描述。如果在Intent中指定了Uri,则Intent将匹配指定的Uri信息,包括scheme, schemeSpecificPart, authority和path信息。

Flags:表示处理Intent的方式。例如Intent.FLAG_ABILITY_CONTINUATION标记在本地的一个Ability是否可以迁移到远端设备继续运行。

BundleName:表示包描述。如果在Intent中同时指定了BundleName和AbilityName,则Intent可以直接匹配到指定的Ability。

AbilityName: 表示待启动的Ability名称。如果在Intent中同时指定了BundleName和AbilityName,则Intent可以直接匹配到指定的Ability。

DeviceId: 表示运行指定Ability的设备ID。

当Intent用于发起请求时,根据指定元素的不同,分为两种类型:

如果同时指定了BundleName与AbilityName,则根据Ability的全称(例如,“com.demoapp.FooAbility”)来直接启动应用。

如果未同时指定BundleName和AbilityName,则根据Operation中的其他属性来启动应用。


文章题目:鸿蒙设备开发题库,鸿蒙系统根据什么开发的
标题链接:http://myzitong.com/article/dsdpcpd.html