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

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

3天内不再提示

HarmonyOS项目和Android项目对比

旺材芯片 来源:51CTO 作者:51CTO 2020-12-10 10:20 次阅读

对于开发者来说两个最关键的点值得关注:一个是 Beta 版的开发工具,一个是开源网站。

开源网站

在开发者大会上宣布将 HarmonyOS源代码捐赠给中国开放原子开源基金会,并在大会上公布了鸿蒙系统的开源路线。 OpenHarmony 官方源码地址:

https://openharmony.gitee.com/openharmony

开发工具

鸿蒙使用基于 Intellij IDEA 深度定制研发的 DevEco Studio 作为其开发工具。 DevEco Studio 下载地址:

https://developer.harmonyos.com/cn/develop/deveco-studio 那么,在应用开发过程中,HarmonyOS(鸿蒙)和 Android(安卓)开发环境有什么不同呐?

HarmonyOS 项目和 Android 项目对比

资源目录的变更

①资源目录名称有更改 安卓 res 目录,这里用 resources 目录,它包括 base 和 rawfile 两部分,其中 base 是核心的资源目录,常用的都放在这里面,便于查找和使用。rawfile 会原封不动打包到生成的应用里面。 安卓是 res/values 目录,这里是 resources/element 目录。安卓 raw 目录,这里用 rawfile 目录。 ②资源目录分门别类,统一管理 Android 目录结构就比较松散,没有统一的文件夹管理,res/values 目录里面可以创建各种资源的 xml 文件,只能去官网查看有哪些可以创建。 这里有 base 目录统一管理。 ③部分资目录删除,新增一些资源目录类型 比如 float.json 文件,plural.json 文件,profile 文件夹等。 ④编写方式有改变,xml 变更为 json 安卓的 values 里面是 xml 写的,这里是 element 目录里面的,都是 json 格式的。 最后来一张同类型资源对比图:

f84f976c-35af-11eb-a64d-12bb97331649.png

f87a18ca-35af-11eb-a64d-12bb97331649.png

完整的资源目录的具体变更对比如下图所示:

f8e83ab2-35af-11eb-a64d-12bb97331649.png

配置文件的变更

清单文件 AndroidManifest 变成了 config.json 文件。

Java 代码的变更

完整的 Java 目录的变更对比如下图所示:

f90d4e9c-35af-11eb-a64d-12bb97331649.png

HarmonyOS 项目和微信小程序项目对比

完整的 JS 目录和微信小程序对比如下图所示:

f9fa2d3e-35af-11eb-a64d-12bb97331649.png

HarmonyOS 优点

多终端开发调试便捷

鸿蒙目前支持可以开发 TV,wearable, LiteWearable 几种设备类型,未来还会扩展到其他设备。并且一次代码就可以在不同设备快速部署和调试,操作非常简易。

对开发者友好,开发难度和学习成本低

①IDE 开发工具方面

DevEco Studio 是基于 Intellij IDEA 工具定制化深度研发的一个工具,所以对于那些熟悉 IDEA,或 Android Studio 或 WebStorm 这些 IDE 开发工具的朋友们来说应该是很熟悉的,不熟悉的朋友们也可以很快就上手。 另外正是由于是定制化的,所以去掉了 IDEA 里面杂七杂八的东西,只保留与鸿蒙项目有关的 SDK 和工具与设置,开发工具简洁纯净清爽,非常好用。

②语言平台

开发 TV 和 Wearable 项目可以选择 Java 或 JS 语言作为开发语言,开发 Lite Wearable 项目仅支持 JS 语言,都是大众喜爱和用的多的开发语言,大家的接受程度很高。 另外开发 Lite Wearable 项目需要用到 **.hml** 后缀的文件,这是鸿蒙团队自研的一个标签性语言,类似于 html,学习起来一点都不费力。

③框架方面

如果使用 Java 开发项目,你通过 Ctrl+鼠标左键点进去查看源码,你会发现 SDK 里面有很多 API 都是跟 Android 类似的,似曾相识的感觉。 不过也有一些是基于鸿蒙内核和底层一些特性新增的。如果你使用 JS 开发,你会发现和微信小程序写起来很类似。 所以框架层大家一看基本都可以看明白是怎么操作了,很好理解,也是大家都可以接受的,学习起来也不是难题。

④权限处理

另外安卓权限的处理是很麻烦的,鸿蒙里面在 config.json 里面可以配置全局的权限,被别人使用的权限,单独模块的权限,以及自定义属于自己的权限。 而且 Java 代码里面也可以用代码动态申请权限,鸿蒙的权限处理的颗粒度更细,对开发者来说,处理起来也是非常方便的。

⑤测试方便,无需下载模拟

鸿蒙使用的是云测试,登陆开发者账号即可连接云设备,无需下载模拟器,还是很便捷的,即使换一台电脑,也不用担心因为没有下载模拟器而耽误测试进度,只要有网络,登陆账号即可进行测试。

责任编辑:lq

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

    关注

    19

    文章

    2967

    浏览量

    104741
  • 模拟器
    +关注

    关注

    2

    文章

    875

    浏览量

    43218
  • 鸿蒙系统
    +关注

    关注

    183

    文章

    2634

    浏览量

    66338

原文标题:鸿蒙和安卓,到底有什么区别?

文章出处:【微信号:wc_ysj,微信公众号:旺材芯片】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于瑞萨FPB-RA4E2智能床头灯项目——4 APP制作

    Inventor最初是为Android系统设计的,但最新版本已经支持iOS系统。该平台适合初学者和非专业开发者,降低了移动应用开发的门槛。用户可以通过浏览器访问App Inventor,并将项目保存在云服务器中,方便跨设备开发 APP界面 APP代码:
    发表于 11-29 22:38

    吉利封测项目正式开工

    11月26日,据温岭日报消息,近日,由温岭新城开发区负责建设的半导体孵化园项目暨晶能微电子车规级半导体封测基地二期项目正式开工。 去年5月,温岭新城开发区与浙江晶能微电子有限公司成功签约车规级半导体
    的头像 发表于 11-28 17:35 186次阅读

    晶能封测项目开工!

    近日,由温岭新城开发区负责建设的半导体孵化园项目暨晶能微电子车规级半导体封测基地二期项目正式开工。
    的头像 发表于 11-28 15:34 204次阅读

    【毕设项目参考】物联网10+项目推荐,附项目文档/源码/视频

    又是一年毕设季,针对即将开始毕业设计的大学生,我们汇总了10+物联网项目,供同学们参考。这些项目覆盖了多个领域,希望可以为同学们提供丰富的灵感来源。我们鼓励同学们根据自己的兴趣和专业方向,选择适合
    的头像 发表于 11-26 15:26 561次阅读
    【毕设<b class='flag-5'>项目</b>参考】物联网10+<b class='flag-5'>项目</b>推荐,附<b class='flag-5'>项目</b>文档/源码/视频

    【毕设项目参考】嵌入式Linux 10+项目推荐,附项目文档/源码/视频

    又是一年毕设季,针对即将开始毕业设计的大学生,我们汇总了10+嵌入式linux项目,供同学们参考。这些项目覆盖了多个领域,希望可以为同学们提供丰富的灵感来源。我们鼓励同学们根据自己的兴趣和专业方向
    的头像 发表于 11-19 15:21 460次阅读
    【毕设<b class='flag-5'>项目</b>参考】嵌入式Linux 10+<b class='flag-5'>项目</b>推荐,附<b class='flag-5'>项目</b>文档/源码/视频

    STM32项目实战:基于STM32U5的火灾报警系统(LVGL),附项目教程/源码

    《火灾报警系统_STM32U5》项目完整文档、项目源码,点击下方链接免费领取。项目资料领取https://s.c1ns.cn/F5XyUSTM32项目实战之“火灾报警系统”(基于STM
    的头像 发表于 11-13 14:18 589次阅读
    STM32<b class='flag-5'>项目</b>实战:基于STM32U5的火灾报警系统(LVGL),附<b class='flag-5'>项目</b>教程/源码

    AI项目管理平台怎么用

    AI项目管理平台是一种集成了项目管理工具、AI开发环境和数据分析能力的综合性平台。接下来,AI部落小编为您梳理AI项目管理平台怎么用。
    的头像 发表于 11-13 09:38 208次阅读

    STM32项目实战:基于STM32U5的智能灯光控制系统(LVGL),附项目教程/源码

    《智能灯光控制系统_STM32U5》项目完整文档、项目源码,点击免费领取。项目资料领取:https://s.c1ns.cn/F5XyUSTM32项目实战之“智能灯光控制系统”(基于ST
    的头像 发表于 11-07 18:50 835次阅读
    STM32<b class='flag-5'>项目</b>实战:基于STM32U5的智能灯光控制系统(LVGL),附<b class='flag-5'>项目</b>教程/源码

    ElfBoard开源项目|“智慧光伏”开源项目技术文档

    【基于ELF1开发板完成的“智慧光伏”项目】“智慧光伏”项目能够智能追踪阳光的移动轨迹。通过内置的光敏传感器和智能控制系统,实时感知周围光源的变化,并驱动太阳能板精准调整角度,确保每一缕阳光都能被
    的头像 发表于 10-11 15:52 401次阅读
    ElfBoard开源<b class='flag-5'>项目</b>|“智慧光伏”开源<b class='flag-5'>项目</b>技术文档

    鸿蒙原生应用元服务开发-鸿蒙真机运行项目实战与注意事项

    、查看设备运行 五、点击项目结构 六、勾选红色框圈部分 登录开发者账号 七、选择好公司 八、等待运行完成 九、安装成功 可以在真机上体验项目了 本文参考引用HarmonyOS官方开发文档,基于API9。
    发表于 05-24 15:12

    Android项目转为鸿蒙,真就这么简单?

    ​最近做了一个有关Android转换成鸿蒙的项目。**经不少开发者的反馈;许多公司的业务都增加了鸿蒙板块。** 对此想分享一下这个项目转换的流程结构,希望能够给大家在工作中带来一些帮助。
    的头像 发表于 05-11 10:04 1673次阅读
    <b class='flag-5'>Android</b><b class='flag-5'>项目</b>转为鸿蒙,真就这么简单?

    2024款鸿蒙OS 最新HarmonyOS Next_HarmonyOS4.0系列教程分享

    Next_HarmonyOS4.0系列教程由业内大神录制于2024年,包括:HarmonyOS ArkTs、ArkUI、ArkTs Api、ArkTs Native、OpenHarmony ArkUI-X跨平台的基本用法以及项目
    发表于 02-28 10:29

    电机测试项目大全

    电机的测试项目主要分为电性能测试和机械性能测试两种。电性能测试项目主要有:绝缘测试、耐压测试、直流电阻测试、负载测试、空载测试、温升测试、效率测试和瞬态响应测试。机械性能测试项目主要有:振动测试、噪音测试、转速测试、超速测试、堵
    的头像 发表于 02-27 16:07 1978次阅读

    锂电池焊接项目分享

    这个参考项目呢,是一台三轴自动焊接机,程序很简单,但是整个项目的资料较为完善,包含图纸、PLC程序、IO表、布局图,具有一定的参考性。
    的头像 发表于 01-23 09:19 452次阅读
    锂电池焊接<b class='flag-5'>项目</b>分享

    基于Android13的AOSP源码下载及编译指南

    AOSP(Android Open Source Project)是Android操作系统的开源项目,通过下载和编译AOSP源码,您可以获得原始的Android系统,并进行定制和开发。
    的头像 发表于 01-17 09:49 3951次阅读
    基于<b class='flag-5'>Android</b>13的AOSP源码下载及编译指南