第一个鸿蒙程序Hello Word
DevEco Studio介绍
HUAWEI DevEco Studio(以下简称DevEco Studio)是基于IntelliJ IDEA Community开源版本打造,面向华为终端全场景多设备的一站式集成开发环境(IDE),为开发者提供工程模板创建、开发、编译、调试、发布等E2E的HarmonyOS应用开发服务。通过使用DevEco Studio,开发者可以更高效的开发具备HarmonyOS分布式能力的应用,进而提升创新效率。
下载与安装软件
登录HarmonysOS应用开发门户,点击右上角注册按钮,注册开发者帐号,注册指导参考注册华为开发者联盟帐号。如果已有华为开发者联盟帐号,请直接点击登录按钮。
DevEco Studio下载跟安装:
DevEco Studio的编译构建依赖JDK,DevEco Studio预置了Open JDK,版本为1.8,安装过程中会自动安装JDK。
下载和安装Node.js:
设置npm仓库
为了提升下载JS SDK时,使用npm安装JS依赖的速度,建议在命令行工具(Mac系统为“终端”工具)中执行如下命令,重新设置npm仓库地址。
npm config set registry https://repo.huaweicloud.com/repository/npm/
用DevEco Studio新建一个项目
安装好工具跟node.js之后,打开DevEco Studio,首页如下图所示:

然后点击Create HarmonyOS Project按钮新建一个项目,进入选择模版界面,在模版界面下选择Phone跟Empty Feature Ability(Java),这里需要选择Phone大家很好理解,代表手机开发,但是为什么选择Empty Feature Ability,后续的章节我们会介绍Ability是什么?

选择了模版之后,点击Next按钮,进入配置项目界面,这个页面有四个输入框,依次是:项目名称、包名、项目保存路径、编译API版本!做个Android开发的朋友对这些项目配置信息应该都很熟悉了,这里就不做过多介绍了。

项目配置信息这里我就用系统默认的了,点击Finish按钮,一个新的项目就创建成功啦。

使用模拟器运行
目前为止市场上还没有带鸿蒙操作系统的手机,现在大家只能用模拟器调试运行,点击菜单栏工具:Tools->HVD Manager,这个时候会打开浏览器验证您的华为开发者账号,验证完成之后会打开模拟器设备管理界面,我们点击Phone,选择只有一款模拟器,华为P40手机,双击P40手机所在的行,就会启动模拟器。

启动模拟器之后,在开发工具右边就有一个小手机啦,然后点击工具栏上的运行按钮运行按钮,选择我们的模拟器运行,运行之后模拟器上显示一行文字“Hello Word”,第一个鸿蒙程序就此诞生啦。

总结
以上所有的内容在鸿蒙操作系统官网都有,大家可以访问官网学习更多知识,当然也可以关注我的公众号,后期会一直更新,我会一直学习鸿蒙开发,然后把内容总结发布到公众号。官方开发者官网如下:
https://www.harmonyos.com/cn/develop
如果你之前是Android开发者,学习鸿蒙开发上手会很快,主要有以下几点:
- 开发工具基于IntelliJ IDEA Community,跟Android Studio是一个爸爸
- 开发语言支持Java
- 项目结构,还有代码风格跟Android很像,反正我第一次看到这个项目结构的时候很容易看懂。
如果你想第一时间看我的后期文章,扫码关注公众号,长期推送Android开发文章、最新动态、开源项目,让你各种涨姿势。
Android开发666 - 安卓开发技术分享
扫描二维码加关注

第一个鸿蒙程序Hello Word的更多相关文章
- The c programming language第一章节所有程序的实现
//打印第一个程序hello, word #include<stdio.h> int main() { printf("hello, world\n"); ; } // ...
- 如何通过Java应用程序创建Word表格
表格,又称为表,既是一种可视化交流模式,又是一种组织整理数据的手段.人们在通讯交流.科学研究以及数据分析活动当中广泛采用着形形色色的表格.那么如何通过Java应用程序创建Word表格呢?别担心,本文将 ...
- TODO:即将开发的第一个小程序
TODO:即将开发的第一个小程序 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验.个人理解小程序是寄宿在微信平台上的一个前端框架,具有跨平台功能, ...
- ASP.NET MVC 5 03 - 安装MVC5并创建第一个应用程序
不知不觉 又逢年底, 穷的钞票 所剩无几. 朋友圈里 各种装逼, 抹抹眼泪 MVC 继续走起.. 本系列纯属学习笔记,如果哪里有错误或遗漏的地方,希望大家高调指出,当然,我肯定不会低调改正的.(开个小 ...
- Unity Shaders 第一个默认程序分析
Unity Shaders 第一个默认程序 Shader "Custom/Shader" { Properties { _MainTex ("Base (RGB)&quo ...
- Maven的第一个小程序
这里是介绍关于maven的第一个小程序 关于maven的安装 : Install Maven in your computer 先看看目录结构: 这是本来的项目目录结构,由于maven有自己的目录结构 ...
- Xamarin iOS编写第一个应用程序创建工程
Xamarin iOS编写第一个应用程序创建工程 在Xcode以及Xamarin安装好后,就可以在Xamarin Studio中编写程序了.本节将主要讲解在Xamarin Studio中如何进行工程的 ...
- 创建ArcGIS API for JavaScript的第一个示例程序
原文:创建ArcGIS API for JavaScript的第一个示例程序 在上一篇博客中已经介绍了如何搭建ArcGIS API for JavaScript开发环境,如果您还没有搭建好开发环境的话 ...
- Linux学习笔记20——第一个多线程程序
一 什么是线程 线程:是一个进程内部的一个控制序列. 二 使用POSIX的注意点 1 为了使用线程函数库,必须定义宏_REENTRANT,通过定义_REENTRANT来告诉编译器我们需要可重入功能,可 ...
- python爬虫__第一个爬虫程序
前言 机缘巧合,最近在学习机器学习实战, 本来要用python来做实验和开发环境 得到一个需求,要爬取大众点评中的一些商户信息, 于是开启了我的第一个爬虫的编写,里面有好多心酸,主要是第一次. 我的文 ...
随机推荐
- 可视化学习:如何用WebGL绘制3D物体
在之前的文章中,我们使用WebGL绘制了很多二维的图形和图像,在学习2D绘图的时候,我们提过很多次关于GPU的高效渲染,但是2D图形的绘制只展示了WebGL部分的能力,WebGL更强大的地方在于,它可 ...
- 数据盘故障导致journalnode异常恢复
背景环境:hdp2.6.6部署的小集群(4节点),这个投入生产后,转手了很多批次人维护,安装源介质这些通通都找不到了,目前官网无法下载hdp的安装介质,中途有坏了一个节点的系统盘,维修好了后,因为没有 ...
- Nuxt.js头部魔法:轻松自定义页面元信息,提升用户体验
扫描二维码关注或者微信搜一搜:编程智域 前端至全栈交流与成长 useHead 函数概述 useHead是一个用于在 Nuxt 应用中自定义页面头部属性的函数.它由Unhead库提供支持,允许开发者以编 ...
- [oeasy]python0145_版本控制_git_备份还原
git版本控制 回忆上次内容 上次我们了解了 try 的完全体 try 尝试运行 except 发现异常时运行的代码块 else 没有发现异常时运行的代码块 finally 无论是否发现异 ...
- ABC348
A link 这道题就先输出整个的\(oox\),再输出剩一个两个的. 点击查看代码 #include<bits/stdc++.h> using namespace std; int n; ...
- docker 容器卷
创建各种卷 [root@docker ~]# docker volume create mqy-vo101 mqy-vo101 [root@docker ~]# docker inspect mqy- ...
- RAG+AI工作流+Agent:LLM框架该如何选择,全面对比MaxKB、Dify、FastGPT、RagFlow、Anything-LLM,以及更多推荐
RAG+AI工作流+Agent:LLM框架该如何选择,全面对比MaxKB.Dify.FastGPT.RagFlow.Anything-LLM,以及更多推荐 1.MaxKB MaxKB = Max Kn ...
- Jmeter函数助手29-dateTimeConvert
dateTimeConvert函数用于将源格式进行目标格式的转换. 格式化时间:传入时间参数,此处格式需要与源时间格式一致 源时间格式:传入参数的时间格式 目标时间格式:想要转换成的格式 1.将源格式 ...
- telegraf 常用命令总结
本文为博主原创,转载请注明出处: Telegraf 是一个灵活的服务器代理,用于收集和报告指标.它支持插件驱动,这意味着你可以根据需要添加或修改功能. 1.使用telegraf --help 查看te ...
- 【SpringMVC】 Controller接收深度复杂对象封装不到的问题
首先来看数据结构的定义: 一个Form对象,然后里面有一个排版日期对象的List集合 排班集合的每个元素中又有一个String集合 在前端的Post请求中可以看到这个String集合是传递了的 但是D ...