首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >三、HarmonyOS 应用开发入门之运行Hello World

三、HarmonyOS 应用开发入门之运行Hello World

作者头像
跟着飞哥学编程
发布于 2024-03-19 02:23:04
发布于 2024-03-19 02:23:04
4410
举报

1、课程对象

HarmonyOS 应用开发采用的是 ArkTs 语言,而 ArkTs 语言是在 TypeScript(简称TS)基础上的扩展,而 TypeScript 又是 JavaScript 的超集。

1.1、有移动端开发经验

比如有过 JavaScript 相关前端开发经验(Vue、React Native等),那么入门是相当容易的。

1.2、无移动端开发经验

如果您没有前端开发经验,但是有其他编程语言的开发经验(Java、C++、KotlinSwift)等,也是相对容易入门的。

1.3、对 HarmonyOS 感兴趣

如果您只是单纯对 HarmonyOS 感兴趣,也是可以学会的。

总之,HarmonyOS 它是相对容易学习并入门的。

2、DevEco Studio 的使用

DevEco Studio 是开发 HarmonyOS (应用)的一站式集成开发环境,简称 IDE

2.1、DevEco Studio 的关键特性
智能代码编辑

支持代码高亮、代码智能补齐、代码错误检查、代码自动跳转、代码格式化、代码查找,提升代码编写效率。

低代码开发

丰富的UI界面编辑能力,支持自由拖拽组件和可视化数据绑定,可快速预览效果,所见即所得,同时支持卡片零码化开发,提升界面开发效率。

多段双向实时预览

支持UI界面代码的双向预览、实时预览,动态预览、组件预览以及多端设备预览,便于快速查看代码运行效果。

多端模拟仿真

提供HarmonyOS本地模拟器、远程模拟器、超级终端模拟器,支持手机、智慧屏、智能穿戴等多端设备的模拟仿真,便捷获取调试环境。

2.2、安装配置 DevEco Studio
2.2.1、官网开发工具下载地址

在HarmonyOS应用开发学习之前,需要进行一些准备工作,首先需要完成开发工具DevEco Studio的下载与安装以及环境配置。

进入DevEco Studio下载官网,单击“立即下载”进入下载页面。

这里根据自己的系统下载适配的工具,这里我是下载的 Windows(64-bit) 版本的。

2.2.2、安装

打开解压后的文件夹内会看到一个 .exe 的安装程序,到安装向导,依次点击 next 即可安装成功。

选择安装路径

安装完毕,双击桌面快捷方式打开开发工具。

2.2.3、配置

进入DevEco Studio配置页面,首先需要进行基础配置,包括Node.js与Ohpm的安装路径设置,选择从华为镜像下载至合适的路径。

单击'Next'进入SDK配置,设置为合适的路径,

点击'Next'后会显示'SDK License Agreement',阅读相关协议后,勾选'Accept'。

单击‘Next’进入配置预览页,在这里进行配置项的确认。

确认完成后,单击'Next',进入下一步。

等待配置自动下载完成,完成后,单击'Finish',IDE会进入欢迎页,我们也就成功配置好了开发环境。

准备工作完成后,接下来将进入DevEco Studio进行工程创建和运行。

2.3、创建 Hello World 工程

如果你是首次打开DevEco Studio,那么首先会进入欢迎页。

2.3.1、点击左侧 Create Project ,进入项目创建页面。

选择‘Application’,然后选择‘Empty Ability’,单击‘Next’进入工程配置页。

配置页中,详细信息如下:

  • Project name是开发者可以自行设置的项目名称,这里根据自己选择修改为自己项目名称。
  • Bundle name是包名称,默认情况下应用ID也会使用该名称,应用发布时对应的ID需要保持一致。
  • Save location为工程保存路径,建议用户自行设置相应位置。
  • Compile SDK是编译的API版本,这里默认选择API9。
  • Model选择Stage模型,其他保持默认即可。

然后单击“Finish”完成工程创建,等待工程同步完成。

2.3.2、认识DevEco Studio界面

进入IDE后,我们首先了解一下基础的界面。

整个IDE的界面大致上可以分为四个部分,分别是代码编辑区通知栏工程目录区以及预览区

  1. 代码编辑区 中间的是代码编辑区,你可以在这里修改你的代码,以及切换显示的文件。通过按住Ctrl加鼠标滚轮,可以实现界面的放大与缩小。
  2. 通知栏

在编辑器底部有一行工具栏,主要介绍常用信息栏,其中Run是项目运行时的信息栏,Problems是当前工程错误与提醒信息栏,Terminal是命令行终端,在这里执行命令行操作,PreviewerLog是预览器日志输出栏,Log是模拟器和真机运行时的日志输出栏。在后续使用中会陆续接触。

  1. 工程目录区 左侧为工程目录区,后续章节会详细介绍。
  1. 预览区 单击右上角Previewer,可以预览相应的文件UI展示效果。

预览器提供了一些基本功能,包括旋转屏幕,切换显示设备及多设备预览等。单击旋转按钮,可以切换竖屏和横屏显示的效果。

也可以单击如下列表按钮,切换显示的设备类型。弹出框内会显示Available Profiles,即可用的设备类型。

如单击Foldable切换设备,也可以单击旋转按钮切换Foldable的横竖屏显示模式。 打开Muti-profile preview开关,可以实现多个尺寸设备的实时预览。

单击预览器右上角组件预览按钮,可以进入组件预览界面。

组件预览模式可以预览当前组件对应的代码块。 点击相应组件,代码文件中会框选对应的组件代码部分,下方则对应当前组件的基本属性。

2.4、运行 Hello World 工程

IDE提供了本地模拟器供开发者使用,我们首先需要下载安装本地模拟器,然后进行运行工程。

  1. 单击顶部工具栏Tools>Device Manager。
  1. 选择Local Emulator,设置合适的Local Emulator Location存储地址,然后单击’+New Emulator’。

选择Huawei_Phone手机模拟器,单击'Next',进入模拟器系统下载页。

选择下载api9的系统镜像,然后单击'Next’,等待下载完成。

下载完成后,进行创建相应的手机模拟器,单击Finish完成创建。

下载完成后,在Local Emulator页面中会出现创建的手机模拟器,点击Actions按钮,就能够启动模拟器。

模拟器启动后界面如下:

  1. 模拟器启动后,点击上方启动按钮,将Hello World工程运行到模拟器上。

IDE构建完成后,即可在模拟器上看到运行效果,我们也就完成了Hello World工程在模拟器上的运行。

这里我模拟器运行,出现了一个异常输出:

点击右侧 FAQ 寻求可能的问题解决方案:

3、了解基本工程目录

工程级目录

工程的目录结构如下。

其中详细如下:

  • AppScope中存放应用全局所需要的资源文件。
  • entry是应用的主模块,存放HarmonyOS应用的代码、资源等。
  • oh_modules是工程的依赖包,存放工程依赖的源文件。
  • build-profile.json5是工程级配置信息,包括签名、产品配置等。
  • hvigorfile.ts是工程级编译构建任务脚本,hvigor是基于任务管理机制实现的一款全新的自动化构建工具,主要提供任务注册编排,工程模型管理、配置管理等核心能力。
  • oh-package.json5是工程级依赖配置文件,用于记录引入包的配置信息。

在AppScope,其中有resources文件夹和配置文件app.json5。AppScope>resources>base中包含element和media两个文件夹,

  • 其中element文件夹主要存放公共的字符串、布局文件等资源。
  • media存放全局公共的多媒体资源文件。
模块级目录

entry>src目录中主要包含总的main文件夹,单元测试目录ohosTest,以及模块级的配置文件。

  • main文件夹中,ets文件夹用于存放ets代码,resources文件存放模块内的多媒体及布局文件等,module.json5文件为模块的配置文件。
  • ohosTest是单元测试目录。
  • build-profile.json5是模块级配置信息,包括编译构建配置项。
  • hvigorfile.ts文件是模块级构建脚本。
  • oh-package.json5是模块级依赖配置信息文件。

进入src>main>ets目录中,其分为entryability、pages两个文件夹。

  • entryability存放ability文件,用于当前ability应用逻辑和生命周期管理。
  • pages存放UI界面相关代码文件,初始会生成一个Index页面。

resources目录下存放模块公共的多媒体、字符串及布局文件等资源,分别存放在element、media文件夹中。

app.json5

AppScope>app.json5是应用的全局的配置文件,用于存放应用公共的配置信息。

其中配置信息如下:

  • bundleName是包名。
  • vendor是应用程序供应商。
  • versionCode是用于区分应用版本。
  • versionName是版本号。
  • icon对应于应用的显示图标。
  • label是应用名。
module.json5

entry>src>main>module.json5是模块的配置文件,包含当前模块的配置信息。

其中module对应的是模块的配置信息,一个模块对应一个打包后的hap包,hap包全称是HarmonyOS Ability Package,其中包含了ability、第三方库、资源和配置文件。其具体属性及其描述可以参照下表1。

属性

描述

name

该标签标识当前module的名字,module打包成hap后,表示hap的名称,标签值采用字符串表示(最大长度31个字节),该名称在整个应用要唯一。

type

表示模块的类型,类型有三种,分别是entry、feature和har。

srcEntry

当前模块的入口文件路径。

description

当前模块的描述信息。

mainElement

该标签标识hap的入口ability名称或者extension名称。只有配置为mainElement的ability或者extension才允许在服务中心露出。

deviceTypes

该标签标识hap可以运行在哪类设备上,标签值采用字符串数组的表示。

deliveryWithInstall

标识当前Module是否在用户主动安装的时候安装,表示该Module对应的HAP是否跟随应用一起安装。- true:主动安装时安装。- false:主动安装时不安装。

installationFree

标识当前Module是否支持免安装特性。- true:表示支持免安装特性,且符合免安装约束。- false:表示不支持免安装特性。

pages

对应的是main_pages.json文件,用于配置ability中用到的page信息。

abilities

是一个数组,存放当前模块中所有的ability元能力的配置信息,其中可以有多个ability。

对于abilities中每一个ability的属性项,其描述信息如下表2。

属性

描述

name

该标签标识当前ability的逻辑名,该名称在整个应用要唯一,标签值采用字符串表示(最大长度127个字节)。

srcEntry

ability的入口代码路径。

description

ability的描述信息。

icon

ability的图标。该标签标识ability图标,标签值为资源文件的索引。该标签可缺省,缺省值为空。如果ability被配置为MainElement,该标签必须配置。

label

ability的标签名。

startWindowIcon

启动页面的图标。

startWindowBackground

启动页面的背景色。

visible

ability是否可以被其他应用程序调用,true表示可以被其它应用调用, false表示不可以被其它应用调用。

skills

标识能够接收的意图的action值的集合,取值通常为系统预定义的action值,也允许自定义。

entities

标识能够接收Want的Entity值的集合。

actions

标识能够接收的Want的Action值的集合,取值通常为系统预定义的action值,也允许自定义。

main_pages.json

src/main/resources/base/profile/main_pages.json文件保存的是页面page的路径配置信息,所有需要进行路由跳转的page页面都要在这里进行配置。

4、官网文档

华为官网开发指南

参考链接
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【HarmonyOS Next之旅】DevEco Studio使用指南(一)
HUAWEI DevEco Studio(以下简称DevEco Studio)是基于IntelliJ IDEA Community开源版本打造,面向全场景多设备,提供一站式的分布式应用开发平台,支持分布式多端开发、分布式多端调测、多端模拟仿真,全方位的质量与安全保障。
枫叶丹
2025/03/08
4550
【HarmonyOS Next之旅】DevEco Studio使用指南(一)
【华为鸿蒙系统学习】- 如何利用鸿蒙系统进行App项目开发|自学篇
第一次开发,我们选择Empty Ability,图中表示它可与手机,平板,手表,电脑,汽车进行互联,
ImAileen
2024/01/18
1.4K0
【华为鸿蒙系统学习】- 如何利用鸿蒙系统进行App项目开发|自学篇
ArkUI-X跨平台已至,何需其它!
我们之前可能更多接触的是ArkUI,我们都知道ArkUI是一套构建分布式应用的声明式UI开发框架。如今ArkUI-X进一步将ArkUI扩展到了多个OS平台:目前支持OpenHarmony、HarmonyOS、Android、 iOS,四个平台。未来也会支持更多的平台。
小帅聊鸿蒙
2024/07/05
5500
ArkUI-X跨平台已至,何需其它!
ArkUI-X跨平台已至,何需其它!
我们之前可能更多接触的是ArkUI,我们都知道ArkUI是一套构建分布式应用的声明式UI开发框架。如今ArkUI-X进一步将ArkUI扩展到了多个OS平台:目前支持OpenHarmony、HarmonyOS、Android、 iOS,四个平台。未来也会支持更多的平台。
徐建国
2023/12/28
8600
ArkUI-X跨平台已至,何需其它!
HarmonyOS开发学习(1)–目录认识与基本开发
在AppScope,其中有resources文件夹和配置文件app.json5。AppScope>resources>base中包含element和media两个文件夹,
摸鱼的G
2024/03/22
4990
HarmonyOS开发学习(1)–目录认识与基本开发
HarmonyOS 开发-DevEco Studio开发环境搭建
HarmonyOS 已经出了几个版本了。也在上亿的设备上运行了。所以想了解下HarmonyOS的开发。
zinyan.com
2023/07/13
1.2K0
HarmonyOS 开发-DevEco Studio开发环境搭建
【第22期】HarmonyOS应用开发(基础篇)
这不就是说,以后华为手机都是鸿蒙系统了嘛?鸿蒙还发出了一条视频,视频中显示2021年6月2号将开启鸿蒙操作系统及华为全场景新品发布会。预计现在支持EMUI11升级的机型,将全部支持升级鸿蒙系统。我这一瞅,这不就是明天准备推送了嘛,抓紧学习一波儿。
siberiawolf
2021/06/29
1.3K0
HarmonyOS 应用模型开发指南介绍
新版文档中的知识点,介绍更全面,逻辑更清晰,提供了各类基本概念解析,帮助开发者更快学习、掌握系统能力。以下是新版文档部分概念展示。
小帅聊鸿蒙
2024/06/20
6340
HarmonyOS 应用模型开发指南介绍
遥遥领先,HarmonyOS的ArkTS应用入门实操
HarmonyOS提供了一套UI开发框架,即方舟开发框架(ArkUI框架)。方舟开发框架可为开发者提供应用UI开发所必需的能力,比如多种组件、布局计算、动画能力、UI交互、绘制等。
杨不易呀
2023/12/02
2.2K1
遥遥领先,HarmonyOS的ArkTS应用入门实操
三、HarmonyOS NEXT应用开发:ArkTS工程目录结构(Stage模型)
resources目录用于统一存放应用所需的各种资源,包括图片、音频、视频、文本等等。下面简要介绍resources 目录的用法,首先需要了解resources 的目录结构,如下
Harry技术
2025/01/13
3170
三、HarmonyOS NEXT应用开发:ArkTS工程目录结构(Stage模型)
鸿蒙应用开发-初见:入门知识、应用模型
当系统全局配置发生变更时触发的事件,系统语言、深浅色等,配置项目前均定义在 Configuration 类中
小帅聊鸿蒙
2024/06/24
2780
鸿蒙应用开发-初见:入门知识、应用模型
【愚公系列】2022年01月 华为鸿蒙OS-01-基础环境搭建和初步使用(JS开发版)
在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力。
愚公搬代码
2022/01/21
5860
【愚公系列】2022年01月 华为鸿蒙OS-01-基础环境搭建和初步使用(JS开发版)
【OpenHarmony】OpenHarmony 开发基础 ② ( DevEco Studio 常用工具 | 参考文档 | 预览器 | 检查器 | 项目文件结构 | Index.ets 首界面 )
在 DevEco Studio 中 , 选择 菜单栏 中的 " 视图 / 工具窗口 / API 参考 " 选项 ,
韩曙亮
2024/06/02
8230
【OpenHarmony】OpenHarmony 开发基础 ② ( DevEco Studio 常用工具 | 参考文档 | 预览器 | 检查器 | 项目文件结构 | Index.ets 首界面 )
DevEco Studio项目构建讲解、编写页面、布局介绍、页面跳转
  HarmonyOS的应用软件包以APP Pack(Application Package)形式发布,它是由一个或多个HAP(HarmonyOS Ability Package)以及描述每个HAP属性的pack.info组成。HAP是Ability的部署包,HarmonyOS应用代码围绕Ability组件展开。 一个HAP是由代码、资源、第三方库及应用配置文件组成的模块包,可分为entry和feature两种模块类型,如下图所示。
晨曦_LLW
2020/09/25
6K0
鸿蒙应用开发环境
DevEco Studio的编译构建依赖JDK,DevEco Studio预置了Open JDK,版本为1.8,安装过程中会自动安装JDK。
乐心湖
2021/01/18
1K0
鸿蒙应用开发环境
【HarmonyOS之旅】HarmonyOS开发基础知识(一)
用户应用程序泛指运行在设备的操作系统之上,为用户提供特定服务的程序,简称“应用”。
枫叶丹
2024/12/20
3290
【HarmonyOS之旅】HarmonyOS开发基础知识(一)
鸿蒙开发学习(一)之ArkTS
ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS,Microsoft)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。因此,在学习ArkTS语言之前,建议开发者具备TS语言开发能力。
六月的雨
2023/11/16
3.2K0
鸿蒙开发学习(一)之ArkTS
HarmonyOS入门第一课:初识HarmonyOS
1.1简介 HarmonyOS的定位是一款面向未来、面向全场景的分布式操作系统。 适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备。
Maynor
2021/12/07
9200
HarmonyOS入门第一课:初识HarmonyOS
HarmonyOS-对Android开发者也太友好了吧
2020年9月10日,华为消费者业务软件部总裁王成录又一次站在了松山湖华为开发者大会的主舞台上。今年,他带来了万众瞩目的华为鸿蒙HarmonyOS2.0。到目前为止,除了华为自家的智慧屏系列产品,国内也已经有多家等设备厂商与华为达成了合作,搭载HarmonyOS2.0,虽然目前华为最新手机ROM-EMUI11仍是基于Android R的操作系统,而在发布会上,华为消费者业务软件部总裁王成录宣布搭载EMUI 11的机型将率先升级HarmonyOS2.0鸿蒙操作系统。
Android扫地僧
2020/09/22
2.2K0
HarmonyOS-对Android开发者也太友好了吧
华为HarmonyOS鸿蒙应用开发初体验
HarmonyOS鸿蒙系统出来好几年了,开发鸿蒙应用和咱平时的前端开发到底有什么差别呢,下面就从一个前端开发的视角带领大家体验一下HarmonyOS开发。
人人都是码农
2023/11/15
1.1K0
华为HarmonyOS鸿蒙应用开发初体验
推荐阅读
相关推荐
【HarmonyOS Next之旅】DevEco Studio使用指南(一)
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档