鸿蒙HarmonyOS实战-工具安装和Helloworld案例
🚀前言
HarmonyOS是华为自主开发的操作系统,它在2020年9月正式发布。它最初被称为鸿蒙OS,后来更名为HarmonyOS。HarmonyOS旨在提供一种可在各种设备上无缝运行的统一操作系统,包括智能手机、平板电脑、智能穿戴设备、智能音箱、车载系统、智能家居设备等等。相比于其他操作系统,HarmonyOS具有更高的安全性、更快的响应速度、更好的用户体验和更强的可扩展性。同时,HarmonyOS还支持多种编程语言和多种开发框架,使开发者更容易地开发应用程序。
HarmonyOS官网:https://developer.harmonyos.com/
为什么要学习鸿蒙,因为9月底的发布会上,华为终端业务CEO余承东宣布,鸿蒙原生应用全面启动,HarmonyOS NEXT开发者预览版将在2024年第一季度面向开发者开放。针对HarmonyOS NEXT,华为全新开发了独创的鸿蒙内核、大模型加持的原生智能、方舟引擎颠覆性的性能和功耗等。
HarmonyOS NEXT是不在兼容安卓的,随着鸿蒙原生应用全面启动,近期多家互联网公司也发布了多个和鸿蒙有关的岗位。比如,网易更新了高级/资深Android开发工程师岗位,职位要求参与云音乐多端多OS的产品(Android、鸿蒙等)研发迭代。美团发布了鸿蒙高级工程师、鸿蒙基建工程师等多个鸿蒙开发相关岗位。根据脉脉平台,美团鸿蒙基建工程师岗位月薪在4万元到6万元之间。同时,钉钉也发布了鸿蒙开发工程师岗位,月薪在1.5万元到3万元之间。
🚀一、安装DevEcoStudio
🔎1.下载安装包
DevEcoStudio地址:https://developer.harmonyos.com/cn/develop/deveco-studio/
🔎2.安装
点击Next,进入安装目录选择页面(不要出现中文或特殊字符),可以走默认路径:
点击Next,进入安装选项页面,按照如图所示勾选即可:
点击Next,进入安装页,直接点击Install:
耐心等待安装完成:
选择重启电脑,Finish:
重启完成后,会在桌面看到DevEco Studio的图标:
🔎3.配置开发环境
双击启动,进入首次运行的欢迎页面:
选择Agree,进入配置导入页面,选择不导入任何配置:
选择要安装的Node.js和Ohpm位置,其中ohpm是Open Harmony Package Management的缩写,也就是类似npm的包管理工具。这里有几点注意事项:
- 如果电脑上已经有Node.js,但是版本不一致,建议选择让工具重新安装
- 如果电脑上已经有Node.js,并且版本一致,可以选择Local,指定node目录即可
- 如果电脑上对Node.js做了一些特殊的options配置,建议先移除
- 配置目录中不要出现中文、特殊字符,建议用默认路径
选择Next后,进入HarmonyOS的SDK安装目录选择页面,同样注意不要出现中文和特殊字符,建议走默认路径:
选择Next后,进入协议页面,全部选择Accept:
选择Next后,进入SDK确认信息页面:
直接点击Next安装即可。
具体如果有错误官方文档有更详细说明:https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/environment_config-0000001052902427-V3#section551917522319
🚀二、helloworld案例
🔎1.helloworld
开发鸿蒙应用,需要先创建一个Project:
然后进入创建应用页面,选择应用模板中的Empty Ability模板:
填写项目信息,其中Project name、Bundle name、Save location都可以自定义:
点击Finish完成创建。
最终开发界面如图
🔎2.应用预览
创建好的应用中已经有了基础代码,我们以后开发后可以直接在工具中预览页面样式。如图:
点击右侧的previewer选项卡,即可看到预览效果:
3.安装模拟器
我们也可以利用设备模拟器来查看更真实的效果。不过需要先配置模拟器。
首先,选择主菜单中的Tools,找到其中的Device Manager,即设备管理:
设备可以是远端设备,也可以是本地设备,我们以本地设备为例。
默认本地没有任何设备,选择install来安装一个:
首次点击时,会弹出一个窗口,下载必要的SDK依赖:
等待一段时间的下载之后,选择Finish。
进入创建模拟器页面,选择New Emulator:
添加手机模拟器:
选择api9版本,不过需要注意,首次进入此页面,需要下载手机设备需要的系统,大概2.2G,需要耐心等待:
下载完成后,才可以选中,然后点击Next,进入下一步:
创建完成后,在设备列表中会出现一个本地设备,点击后面的运行按钮即可启动设备模拟器:
启动后如图所示:
然后,在应用启动位置选择刚刚添加的模拟器:
点击启动,可以将应用部署到模拟器:
效果与预览类似:
相关文章:

TCP怎么保证传输过程的可靠性?
校验和发送方在发送数据之前计算校验和,接收方收到数据后同样计算,如果不一致,那么传输有误确认应答,序列号TCP进行传输时数据都进行了编号,每次接收方返回ACK都有确认序列号。超时重试这里是引用连接管理流量控制阻塞控制..._tcp传输过程可靠性

15.鸿蒙HarmonyOS App(JAVA)进度条与圆形进度条
/设置无限模式,运行查看动态效果。15.鸿蒙HarmonyOS App(JAVA)进度条与圆形进度条。//创建并设置无限模式元素。

javascript的变量存储机制和原理
js的变量存储机制

tomcat缺少awt支持的解决&java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvir
这几天,线上的项目出现了一个问题,就是二维码图片没有出来,考虑到图像都是用到awt库,可能是tomcat没有图像库的问题,给tomcat加上awt的支持就解决了。加在catalina.sh的开头的JAVA_OPTS环境变量中加入,然后重启搞定。

Java中 && 和|| 在同一个 if 里面使用 会出现啥问题&Java中运算符“|”和“||”以及“&”和“&&”区别
如果在同一个 if 语句中同时使用 && 和 || 运算符,可能会导致逻辑错误。这样就会导致逻辑错误,当 a 为 false,b 为 true 时,输出结果会是 “Goodbye”,而不是我们期望的 “Hello World”。假设有两个布尔类型的变量 a 和 b,我们要判断当 a 为 true 或者 b 为 true 时输出 “Hello World”,否则输出 “Goodbye”。:不论运算符左侧为true还是false,右侧语句都会进行判断,下面代码。

pandas进行数据计算时如何处理空值的问题?
我们在处理数据时经常会遇到空值的问题,比如有个学生某科弃考但是其他科有成绩的话,计算总分时便需要解决空值计算的问题

Windows系统搭建WebDAV服务并结合内网穿透实现公网访问本地文件
在Windows上如何搭建WebDav,并且结合cpolar的内网穿透工具实现在公网访问。WebDav是一种基于http的协议,允许用户在服务器上创建、修改、删除和移动文件,它的优点是可以方便的通过网络访问和管理文件,并且支持多用户协作,提供安全的加密机制。使用WebDav协议,用户可以将网盘挂载到本地电脑或手机上,可以直接操作网盘上的文件了。

鸿蒙APP闪退的问题
以下是一些建议的步骤,可以帮助你定位和解决鸿蒙应用闪退的原因,希望对大家有所帮助。使用鸿蒙开发者工具中的调试功能,尝试在应用发生闪退的情况下进行调试。这可以帮助你实时观察应用的状态,查看变量的值,并找到可能的问题。如果你的应用使用版本控制工具(如Git),回退到之前的稳定版本,看看问题是否仍然存在。有时,一个小的更改可能导致应用闪退,因此查看最近的代码修改是很重要的。如果应用使用第三方库或依赖,确保它们的版本与应用的其他部分兼容。使用鸿蒙开发者工具提供的崩溃分析服务,分析应用的崩溃报告。

如何用pthon连接mysql和mongodb数据库【极简版】
发现宝藏 前言 1. 连接mysql 1.1 安装 PyMySQL 1.2 导入 PyMySQL 1.3 建立连接 1.4 创建游标对象 1.5 执行查询 1.6 关闭连接 1.7 完整示例 2. 连接mongodb 2.1 安装 PyMongo 2.2 导入 PyMongo 2.3 建立连接 2.4

如何快速部署本地训练的 Bert-VITS2 语音模型到 Hugging Face
Hugging Face是一个机器学习(ML)和数据科学平台和社区,帮助用户构建、部署和训练机器学习模型。它提供基础设施,用于在实时应用中演示、运行和部署人工智能(AI)。用户还可以浏览其他用户上传的模型和数据集。Hugging Face通常被称为机器学习界的GitHub,因为它让开发人员公开分享和

uniap vue3 组件使用uni.createSelectorQuery() 获取dom报错
批量查询时,结果是按照查询的顺序返回的。由于vue3中没有this,所以使用。

linux环境中一次启动多个jar包,并且设置脚本开机自启
我们在通过jar启动项目时,有时候会比较多,启动会比较麻烦,需要编写shell脚本启动,将启动脚本存放在需要启动的jar包路径下。(文档存放在 /home/process_parent )PORTS 端口号,多个用空格隔开MODULES 模块,多个用空格隔开MODULE_NAMES 模块名称,多个用空格隔开。

将 RGB 转换为十六进制、生成随机十六进制
RGB是一种加法混色模式,它通过调节红、绿、蓝三个颜色通道的亮度来混合出各种颜色。对于每个颜色通道,取值范围是0到255,0表示该通道对应的颜色分量没有亮度,255表示达到最大亮度。

用python实现实现手势音量控制
要实现手势音量控制,您可以使用Python中的PyAutoGUI和pynput库。PyAutoGUI可以模拟鼠标和键盘操作,而pynput可以检测用户的输入事件。,用于检测键盘事件。如果用户按下ESC键,则停止监听鼠标和键盘事件并退出程序。最后,我们创建了鼠标和键盘监听器对象,并调用它们的。,用于模拟按下音量增加和音量减少键的操作。然后,我们定义了一个鼠标手势检测函数。,用于检测鼠标左键的点击事件。在程序的主循环中,我们使用。在这个示例代码中,我们定义了两个函数。函数等待用户按下ESC键退出程序。

STM32F103_ESP8266基于RTOS移植MQTT
基于STM32F103C8T6单片机FreeRTOS系统ESP8266 WIFI模组移植MQTTClient,成功连接MQTT服务器,实现订阅和发布消息!

nodemon(自动重启 node 应用程序)的安装与使用
(2).键入命令 set-ExecutionPolicy remoteSigned。windows 默认不允许 npm 全局命令执行脚本文件,所以需要修改执行策略。全局安装完成之后就可以在命令行的任何位置运行 nodemon 命令。(4)、再运行 nodemon app.js ok。我们可以执行安装选项 -g 进行全局安装。1、安装,在随意一个命令窗口都可以。自动重启 node 应用程序。(3)、输入Y 或者 A。

【msvcr120.dll】修复电脑出现msvcr120.dll找不到的详细方法
当我们在使用某些程序或游戏时,需要调用这个动态链接库文件中的函数或资源,如果这个文件丢失或损坏,就会导致程序无法正常运行,从而出现“msvcr120.dll丢失”的错误提示。了解了msvcr120.dll丢失的原因后,我们再来看一下msvcr120.dll的作用。我们可以下载一个dll修复工具,使用dll修复工具进行修复操作非常简单(亲测可以修复),它可以自动检测电脑缺失或者损坏的dll文件,如果msvcr120.dll缺失,dll修复工具检测到以后,便会自动安装msvcr120.dll文件。

鸿蒙Harmony-层叠布局(Stack)详解
我们总是为了太多遥不可及的东西去拼命,却忘了人生真正的幸福不过是灯火阑珊处的温暖,柴米油盐的充实,人生无论你赚的钱,是多还是少,经历的事情是好还是坏,都不如过好当下的每一天!

如何优化Uniapp应用程序的性能?
避免频繁的重绘和重排:频繁的DOM操作会导致浏览器频繁的重绘和重排,影响性能。使用v-for中的key属性:在使用v-for渲染列表时,为每个列表项添加唯一的key属性,这样可以减少渲染的次数,提高渲染的效率。减少页面加载时间:避免页面过多和过大的组件,减少不必要的资源加载。使用图片懒加载:对于图片较多的场景,可以使用图片懒加载的方式,当图片进入用户可视范围时再进行加载,减少初始页面加载的时间。节流和防抖:对于频繁触发事件的场景,可以使用节流和防抖的方法来减少事件处理的频率,从而提高性能。

【MATLAB】 SSA奇异谱分析信号分解算法
SSA奇异谱分析(Singular Spectrum Analysis)是一种处理非线性时间序列数据的方法,可以对时间序列进行分析和预测。它基于构造在时间序列上的特定矩阵的奇异值分解(SVD),可以从一个时间序列中分解出趋势、振荡分量和噪声。具体流程如下:根据原始时间序列构建轨迹矩阵X XX。对矩阵X进行奇异值分解:X = ∑ i = 1 r σ i U i V i T X=\sum_{i=1}^{r} \sigma_i U_i V_{i}^TX=∑i=1rσiUiViT。

自定义白平衡调节的步骤 白平衡怎么设置好 白平衡和色温的关系 用什么软件调节白平衡
也就是说,当相机的白平衡数值和色温数值一样时,相机呈现的光源就是纯白光源,拍摄出来的画面就是白色,这就是白平衡的主要作用,通过调整色温和白平衡数值,能改变画面色彩,色温和白平衡数值越接近,画面就越白。白平衡的k值越高,拍摄的画面颜色就越暖/偏黄(它与色温相反,色温是k值越高,画面越冷),k值越低,画面颜色越冷/偏蓝,自定义白平衡能让画面色温校正的很精准,但是操作很复杂。先来说下色温,色温是指光线在不同的能量下,眼睛感受到的颜色变化,简单理解就是光线的颜色,色温计算单位是开尔文(k)。

windows安装conda环境,开发openai应用准备,运行第一个ai程序
作者开发第一个openai应用的环境准备、第一个openai程序调用成功,做个记录,希望帮助新来的你。第一次能成功运行的openai程序,狠开心。

【总结】SpringBoot 中过滤器、拦截器、监听器的基本使用
拦截器是在面向切面编程中应用的,就是在你的service或者一个方法前调用一个方法,或者在方法后调用一个方法。是基于JAVA的反射机制。1)预处理preHandle()方法用户发送请求时,先执行preHandle()方法。会先按照顺序执行所有拦截器的preHandle方法,一直遇到return false为止,比如第二个preHandle方法是return false,则第三个以及以后所有拦截器都不会执行。若都是return true,则执行用户请求的url方法。2)后处理postHandle()方法。
SpringBoot 使用过滤器、拦截器、切面(AOP),及其之间的区别和执行顺序
Servlet(Server Applet),全称是Java Servlet,是提供基于协议请求/响应服务的Java类。在JavaEE中是Servlet规范,即是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的Java类,一般人们理解是后者。是什么。

windows11通过虚拟机安装Ubuntu20.04
window11通过虚拟机VMware Workstation 17 Player安装ubuntu20.04

Springboot支付宝沙箱支付---完整详细步骤
两种方式进行配置。这里我采取的是默认方式: 开发者如需使用系统默认密钥/证书,可在开发信息中选择系统默认密钥。注意:使用API在线调试工具调试OpenAPI必须使用系统默认密钥。

优秀的代码都是如何分层的——阿里开发规范
总的来说业务分层对于代码规范是比较重要,决定着以后的代码是否可复用,是否职责清晰,边界清晰。当然这种分层其实见仁见智, 团队中的所有人的分层习惯也不同,所以很难权衡出一个标准的准则,总的来说只要满足职责逻辑清晰,后续维护容易,就是好的分层。最后,如果你的团队有更好的分层,或者上面所描述的有什么错误的地方还请留言指正一下。

单元测试,集成测试,系统测试的区别是什么?
实际的测试工作当中,我们会从不同的角度对软件测试的活动进行分类,题主说的“单元测试,集成测试,系统测试”,是按照开发阶段进行测试活动的划分。这种划分完整的分类,其实是分为四种 “单元测试,集成测试,系统测试,验收测试"。这四类测试,其实是一种从局部到整体测试思想。为了给题主以及各位同学介绍清楚这4类测试的区别,我以汽车生产测试的过程为例,来分别阐述下单元测试,集成测试,系统测试,验收测试。四类测试进行顺序1、汽车制造举例在汽车的生产制造器过程当中,要先针对汽车的零部件进行测试。比如说我们可以把轮胎进行全面的

HarmonyOS开发FA应用模型下多个页面的声明方式
HarmonyOS配套的IDE是DevEco Studio,目前的版本是3.1。官网可以直接下载。

华为路由器OSPF动态链路路由协议配置
【代码】华为路由器OSPF动态链路路由协议配置。