鸿蒙HarmonyOS实战-工具安装和Helloworld案例

🚀前言

HarmonyOS是华为自主开发的操作系统,它在2020年9月正式发布。它最初被称为鸿蒙OS,后来更名为HarmonyOS。HarmonyOS旨在提供一种可在各种设备上无缝运行的统一操作系统,包括智能手机、平板电脑、智能穿戴设备、智能音箱、车载系统、智能家居设备等等。相比于其他操作系统,HarmonyOS具有更高的安全性、更快的响应速度、更好的用户体验和更强的可扩展性。同时,HarmonyOS还支持多种编程语言和多种开发框架,使开发者更容易地开发应用程序。

HarmonyOS官网:HarmonyOS应用开发官网 - 华为HarmonyOS打造全场景新服务

image

为什么要学习鸿蒙,因为9月底的发布会上,华为终端业务CEO余承东宣布,鸿蒙原生应用全面启动,HarmonyOS NEXT开发者预览版将在2024年第一季度面向开发者开放。针对HarmonyOS NEXT,华为全新开发了独创的鸿蒙内核、大模型加持的原生智能、方舟引擎颠覆性的性能和功耗等。

HarmonyOS NEXT是不在兼容安卓的,随着鸿蒙原生应用全面启动,近期多家互联网公司也发布了多个和鸿蒙有关的岗位。比如,网易更新了高级/资深Android开发工程师岗位,职位要求参与云音乐多端多OS的产品(Android、鸿蒙等)研发迭代。美团发布了鸿蒙高级工程师、鸿蒙基建工程师等多个鸿蒙开发相关岗位。根据脉脉平台,美团鸿蒙基建工程师岗位月薪在4万元到6万元之间。同时,钉钉也发布了鸿蒙开发工程师岗位,月薪在1.5万元到3万元之间。

🚀一、安装DevEcoStudio

🔎1.下载安装包

DevEcoStudio地址:HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者

image

🔎2.安装

image

点击Next,进入安装目录选择页面(不要出现中文或特殊字符),可以走默认路径:

image

点击Next,进入安装选项页面,按照如图所示勾选即可:

image

点击Next,进入安装页,直接点击Install:

image

耐心等待安装完成:

image

选择重启电脑,Finish:

image

重启完成后,会在桌面看到DevEco Studio的图标:

image

🔎3.配置开发环境

双击启动,进入首次运行的欢迎页面:

image

选择Agree,进入配置导入页面,选择不导入任何配置:

image

选择要安装的Node.js和Ohpm位置,其中ohpm是Open Harmony Package Management的缩写,也就是类似npm的包管理工具。这里有几点注意事项:

  • 如果电脑上已经有Node.js,但是版本不一致,建议选择让工具重新安装

  • 如果电脑上已经有Node.js,并且版本一致,可以选择Local,指定node目录即可

  • 如果电脑上对Node.js做了一些特殊的options配置,建议先移除

  • 配置目录中不要出现中文、特殊字符,建议用默认路径

image

选择Next后,进入HarmonyOS的SDK安装目录选择页面,同样注意不要出现中文和特殊字符,建议走默认路径:

image

选择Next后,进入协议页面,全部选择Accept:

image

选择Next后,进入SDK确认信息页面:

image

直接点击Next安装即可。

具体如果有错误官方文档有更详细说明:文档中心

image

🚀二、helloworld案例

🔎1.helloworld

开发鸿蒙应用,需要先创建一个Project:

image

然后进入创建应用页面,选择应用模板中的Empty Ability模板:

image

填写项目信息,其中Project name、Bundle name、Save location都可以自定义:

image

点击Finish完成创建。

最终开发界面如图

image

🔎2.应用预览

创建好的应用中已经有了基础代码,我们以后开发后可以直接在工具中预览页面样式。如图:点击右侧的previewer选项卡,即可看到预览效果:

image

3.安装模拟器我们也可以利用设备模拟器来查看更真实的效果。不过需要先配置模拟器。首先,选择主菜单中的Tools,找到其中的Device Manager,即设备管理:

image

设备可以是远端设备,也可以是本地设备,我们以本地设备为例。默认本地没有任何设备,选择install来安装一个:

image

首次点击时,会弹出一个窗口,下载必要的SDK依赖:

image

等待一段时间的下载之后,选择Finish。进入创建模拟器页面,选择New Emulator:

image

添加手机模拟器:

image

选择api9版本,不过需要注意,首次进入此页面,需要下载手机设备需要的系统,大概2.2G,需要耐心等待:

image

下载完成后,才可以选中,然后点击Next,进入下一步:

image

image

创建完成后,在设备列表中会出现一个本地设备,点击后面的运行按钮即可启动设备模拟器:

image

启动后如图所示:

image

然后,在应用启动位置选择刚刚添加的模拟器:

image

点击启动,可以将应用部署到模拟器:

image

效果与预览类似:

image

文章转载自:蜀道山QAQ

原文链接:https://www.cnblogs.com/shudaoshan/p/17966589

体验地址:引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/627286.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“核弹级“攻击队视角下的监管痛点解决方案

痛点分析及解决方案 一、辖区企业资产分散且不透明 - 传统的监管体系中,政府监管单位往往面临着辖区企业资产分散且不透明的问题。 - 企业无法梳理自身资产,上报的资产台账无法涵盖全部自身资产 - 监管单位精力有限,无法保证辖区企业资产台账…

工信部颁发的人工智能证书《自然语言与语音处理设计开发工程师》证书到手啦!

工信部颁发的人工智能证书《自然语言与语音处理设计开发工程师》证书拿到手啦! 近期正在报考的工信部颁发的人工智能证书还有: 《计算机视觉处理设计开发工程师》中级 2024年1月24日至28日-北京 《自然语言与语音处理设计开发工程师》中级 第二期 20…

【华为OD机试真题 Python语言】466、寻找最优的路测线路 | 机试真题+思路参考+代码解析(C卷)

文章目录 一、题目🎃题目描述🎃输入输出🎃样例1🎃样例2二、思路参考三、问题解疑四、代码参考作者:KJ.JK🍂个人博客首页: KJ.JK 🍂专栏介绍: 华为OD机试真题汇总,定期更新华为OD各个时间阶段的机试真题,每日定时更新,本专栏将使用Python语言进行更新解答,…

高级分布式系统-第15讲 分布式机器学习--分布式机器学习算法

高级分布式系统汇总:高级分布式系统目录汇总-CSDN博客 分布式机器学习算法 按照通信步调,大致可以分为同步算法和异步算法两大类。 同步算法下,通信过程中有一个显式的全局同步状态,称之为同步屏障。当工作节点运行到同步屏障 …

MySql编码设置

my.ini中配置: [client] default-character-setutf8[mysql] default-character-setutf8[mysqld] character-set-serverutf8 collation-serverutf8_general_ci #字符排序规则 skip-character-set-client-handshake #忽略客户端编码设置,强制客户端和服务…

定位Linux下写句柄错误问题

编写代码时发现对于以下can 写资源句柄时出现的错误不是很能分析&#xff0c;但是如果将错误码打印出来后&#xff0c;清晰了很多&#xff0c;并且还可以查看。 int Can::Write(const struct can_frame *send_frame) { int result;std::cout << "before write s_ :…

JUC——8锁问题

文章目录 问题一和问题二&#xff1a;问题三&#xff1a;问题四&#xff1a;问题五和问题六&#xff1a;问题七和问题八&#xff1a;总结 八锁现象是在多线程编程中经常遇到的一种情况&#xff0c;指的是在使用synchronized关键字进行同步时可能出现的不同的执行顺序。下面对问…

C++ 类的静态成员

我们可以使用 static 关键字来把类成员定义为静态的。当我们声明类的成员为静态时&#xff0c;这意味着无论创建多少个类的对象&#xff0c;静态成员都只有一个副本。 静态成员在类的所有对象中是共享的。如果不存在其他的初始化语句&#xff0c;在创建第一个对象时&#xff0…

Springboot注解@order作用

目录 作用介绍 使用方式 注意点 作用介绍 Order 注解在 Spring 框架中用于定义组件的加载顺序。这个注解可以被应用于多个场景&#xff0c;其中包括但不限于&#xff1a; 定义 Bean 的加载顺序&#xff1a;在配置类中&#xff0c;你可以使用 Order 注解来指定 Spring 容器中…

windows下本地启动rocketmq

Windows下RocketMQ安装及可视化界面搭建 首先执行 mqnamesrv.cmd mqnamesrv.cmd -n localhost:9876再执行 mqbroker.cmd mqbroker.cmd -n localhost:9876 autoCreateTopicEnabletrue可视化 工具在置顶链接有下载地址。 需要修改配置文件 server.contextPath server.port80…

了解<![CDATA[ ]]>的使用

在一次查看testng的xml测试报告中发现有大量使用&#xff1c;![CDATA[ ]]&#xff1e;这个标签&#xff0c;所以就好奇这个标签是干什么用的。其实这个标签常见于xml文件中&#xff0c;是xml中一种特殊的标签&#xff0c;用于包含不需要解析的文本数据。下面我们深入了解&#…

vue3 vite使用postcss-px-to-viewport 实现页面自适应

一、什么是 postcss-px-to-viewport&#xff1f; postcss-px-to-viewport 是一个 PostCSS 插件&#xff0c;它可以将 px 单位转换为视口单位&#xff08;vw、vh 或 vmin&#xff09;。 视口单位是相对于视口尺寸来计算的长度单位&#xff0c;而不是相对于父元素或根元素。这意…

JNPF低代码引擎到底是什么?

最近听说一款可以免费部署本地进行试用的低代码引擎&#xff0c;源码上支持100%源码&#xff0c;提供的功能和技术支持比较完善。借助这篇篇幅我们了解下JNPF到底是什么&#xff1f; JNPF开发平台是一款PaaS服务为核心的零代码开发平台&#xff0c;平台提供了多租户账号管理、主…

Linux中的定时任务(案例:定时备份和清空)

前言 Linux中的定时任务&#xff08;案例&#xff1a;定时备份和清空&#xff09; crontab 命令 Linux crontab 是用来定期执行程序的命令, 当安装完成操作系统之后&#xff0c;默认便会启动此任务调度命令。crond 命令每分钟会定期检查是否有要执行的工作&#xff0c;如果有…

数据结构:二分图

参考链接&#xff1a; https://zhuanlan.zhihu.com/p/96229700 Bipartite Graph Definition G &#xff08;U, V, E&#xff09;all the edges are between U and V.No edge between two vertices in U.No edge between two vertices in V. Bipartite Matching G (U, V…

图片转换成png格式上传

参数为图片地址&#xff08;在浏览器可以直接访问的&#xff09; public static String getToPngFile(HttpServletRequest request, String url) throws IOException {String imgTmpPath null; // 临时图片文件路径InputStream inputStream null;String imgsUrl null; // 上…

适配器模式介绍

目录 一、适配器模式介绍 1.1 适配器模式定义 1.2 适配器模式原理 1.2.1 适配器模式类图 1.2.2 模式角色说明 二、适配器模式的应用 2.1 类适配器模式 2.1.1 需求说明 2.1.2 需求实现 2.1.2.1 类图 2.1.2.2 具体实现 2.1.2.2.1 SDCard接口 2.1.2.2.2 SDCardImpl实现…

Intra-Inter Camera Similarity for Unsupervised Person Re-Identification

一、研究背景 1.由于人工标注样本昂贵&#xff0c;许多工作致力于通过以下手段进行无监督行人重识别&#xff1a; 域自适应&#xff1a;对齐源域、目标域特征分布 风格转换&#xff1a;使用生成对抗网络转换源域图片风格&#xff0c;并维持源域图片身份 伪标签生成&#xff1a;…

java.lang.UnsupportedOperationException: null 其一解决办法

文章目录 前言一、错误回顾1.详细信息2.代码详情 二、解决方案1.错误原因2.解决方案1.使用 new ObjectMapper() new TypeReference<List>(){}2.使用 SerializerFeature.WriteMapNullValue.getMask() 总结 前言 当我们远程调用传递泛型集合&#xff0c;如 List<?>…

【重明】机器视觉QT/C++实现工业相机二次开发框架

工业相机二次开发是机器视觉行业必不可少的技能之一。 而如何实现一个框架&#xff0c;能够兼容所有工业相机二次开发&#xff0c;从而支持多种类型的工业相机&#xff0c;就是机器视觉行业的进阶技能了。 重明工业相机二次开发项目就是在实现相机二开框架的基础上&#xff0c…