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
    +关注

    关注

    20

    文章

    2997

    浏览量

    115702
  • 模拟器
    +关注

    关注

    2

    文章

    993

    浏览量

    45388
  • 鸿蒙系统
    +关注

    关注

    183

    文章

    2642

    浏览量

    69354

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    UART、SPI、I2C 实战对比:哪个更适合你的项目

    在嵌入式开发中,设备之间的通信是绕不开的话题。常见的三种总线接口——UART、SPI、I2C——各有优缺点。不同项目需求决定了选择哪一种协议最合适。本文结合实战经验,逐项对比三者,并附带实战代码
    的头像 发表于 11-24 19:04 339次阅读
    UART、SPI、I2C 实战<b class='flag-5'>对比</b>:哪个更适合你的<b class='flag-5'>项目</b>?

    HarmonyOS 5 入门系列 】鸿蒙HarmonyOS示例项目讲解

    HarmonyOS 5 入门系列 】鸿蒙HarmonyOS示例项目讲解 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、前言:移动开发
    的头像 发表于 07-07 11:57 811次阅读
    【 <b class='flag-5'>HarmonyOS</b> 5 入门系列 】鸿蒙<b class='flag-5'>HarmonyOS</b>示例<b class='flag-5'>项目</b>讲解

    HarmonyOS基础组件:Button三种类型的使用

    简介 HarmonyOS在明年将正式不再兼容Android原生功能,这意味着对于客户端的小伙伴不得不开始学习HarmonyOS开发语言。本篇文章主要介绍鸿蒙中的Button使用。 Harmon
    的头像 发表于 06-09 15:48 2156次阅读
    <b class='flag-5'>HarmonyOS</b>基础组件:Button三种类型的使用

    HarmonyOS实战:组件化项目搭建

    ?本文将详细讲解HarmonyOs组件化项目搭建的全过程,带领大家实现一个组件化项目项目创建 首先创建一个项目工程,点击开发工具DevE
    的头像 发表于 06-09 14:58 526次阅读
    <b class='flag-5'>HarmonyOS</b>实战:组件化<b class='flag-5'>项目</b>搭建

    ArkUI-X添加到现有Android项目

    本教程主要讲述如何利用ArkUI-X SDK完成Android AAR开发,实现基于ArkTS的声明式开发范式在android平台显示。包括: 1.跨平台Library工程开发介绍 2.AAR在
    发表于 06-04 22:35

    ArkUI-X添加到现有Android项目

    本教程主要讲述如何利用ArkUI-X SDK完成Android AAR开发,实现基于ArkTS的声明式开发范式在android平台显示。包括: 1.跨平台Library工程开发介绍 2.AAR在
    发表于 05-28 22:44

    STM32+Android实现的智能家政机器人电路代码论文及项目源码

    STM32+Android实现的智能家政机器人电路代码论文及项目部分截图:
    发表于 05-28 21:22

    松霖科技PLM项目正式启动

    近日,松霖科技PLM项目启动会在厦门松霖科技园隆重召开。启动会上,松霖科技公司领导、各部门负责人及项目组成员,与湃睿科技项目实施团队齐聚一堂,共同见证这一具有战略意义的时刻。
    的头像 发表于 05-28 14:46 856次阅读

    HarmonyOS5云服务技术分享--ArkTS开发Node环境

    Studio 3.0+,配置HarmonyOS SDK。 ​​云服务开通​​:在AGC(AppGallery Connect)控制台创建项目,开通云函数服务,获取agconnect-services.json
    发表于 05-22 17:21

    Android开发者必看】使用JetBrains TeamCity为Android项目构建CI/CD管道详细指南

    【CI/CD】定义明确的构建、测试和部署工作流对Android应用的开发至关重要。JetBrains TeamCity是一个用于构建可靠管道的CI/CD平台,可与流行的Android开发工具无缝集成,具有人性化的界面来配置构建和测试的各个阶段。
    的头像 发表于 03-21 15:42 1004次阅读
    【<b class='flag-5'>Android</b>开发者必看】使用JetBrains TeamCity为<b class='flag-5'>Android</b><b class='flag-5'>项目</b>构建CI/CD管道详细指南

    AI项目管理平台有什么用

    当今,AI项目的复杂性和多变性给项目管理带来了前所未有的挑战。为了有效应对这些挑战,AI项目管理平台应运而生。那么,AI项目管理平台有什么用?下面,AI部落小编带您了解。
    的头像 发表于 02-19 11:16 624次阅读

    立讯百亿产业项目正式落户昆山

    近日,立讯精密与昆山市政府携手签署了总投资额高达120亿元的产业项目合作协议,标志着这一重大项目正式落户昆山。据悉,这是近三年来昆山投资额最大的项目,预计达产后年产值将达到惊人的800亿元,为当地
    的头像 发表于 02-10 14:20 1476次阅读

    珠海级材料项目,投产在望

    来源 集微产业创新基地 据珠海市工业和信息化局消息,2024年全市唯一的 百亿级项目奕源半导体材料产业基地 落地金湾, 一期项目预计于2026年上半年实现投产 。 项目 据珠海市工业和信息化局
    的头像 发表于 02-08 14:11 568次阅读

    ElfBoard开源项目|智能消防车项目

    项目——利用ELF 1开发板打造的智慧消防车。该项目展现了物联网、数据处理等前沿技术在消防领域的应用潜力,下面就和各位小伙伴展示一下这个开源项目是怎样实现的。
    的头像 发表于 01-04 16:43 1055次阅读
    ElfBoard开源<b class='flag-5'>项目</b>|智能消防车<b class='flag-5'>项目</b>

    cmp项目管理工具的优缺点

    CMP项目管理工具,在不同的语境下有不同的含义。一种是指综合项目管理平台(Comprehensive Management Platform),它旨在整合和优化项目的各个方面,包括时间管理、资源管理
    的头像 发表于 12-17 09:42 1299次阅读