HarmonyOS Next快速入门:了解项目工程目录结构

简介: 本教程旨在帮助开发者快速上手HarmonyOS应用开发,涵盖从环境搭建到工程创建的全流程。通过DevEco Studio创建首个项目时,选择“Application”与“Empty Ability”,配置项目名称、包名、保存路径等关键信息后完成创建。代码示例展示了基本UI组件的使用,如`Hello World`文本显示与交互逻辑。此外,详细解析了工程目录结构,包括AppScope自动生成规则、主模块(entry)的功能划分、依赖配置文件(oh-package.json5)的作用,以及app.json5中包名、版本号等全局配置项的含义。

HarmonyOS Next快速入门##HarmonyOS应用开发##教育

点击跳转《HarmonyOS Next快速入门》视频教程

创建第一个工程
如果你是首次打开DevEco Studio,那么首先会进入欢迎页。
在欢迎页中单击“Create Project”,进入项目创建页面。
选择‘Application’,然后选择‘Empty Ability’,单击‘Next’进入项目配置页。
配置页中,详细信息如下:

  • Project name是开发者可以自行设置的项目名称,这里根据自己选择修改为自己项目名称。
  • Bundle name是包名称,默认情况下应用ID也会使用该名称,应用发布时对应的ID需要保持一致。
  • Save location为工程保存路径,建议用户自行设置相应位置。
  • Compile SDK是编译的SDK版本。
  • Module name:模块名称。
  • Device type设备类型:Phone手机,Tablet平板,2in1二合一平板电脑,Car车载平板

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

@Entry
@Component
struct Index{
  @State message: string = 'Hello World';

  build() {
    RelativeContainer() {
      Text(this.message)
        .id('PageHelloWorld')
        .fontSize($r('app.float.page_text_font_size'))
        .fontWeight(FontWeight.Bold)
        .alignRules({
          center: { anchor: '__container__', align: VerticalAlign.Center },
          middle: { anchor: '__container__', align: HorizontalAlign.Center }
        })
        .onClick(() => {
          this.message = 'Welcome';
        })
    }
    .height('100%')
    .width('100%')
  }
}
AI 代码解读

了解基本工程目录
参考资料:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/application-package-structure-stage-V5

工程的目录结构如下

  • AppScope目录由DevEco Studio自动生成,不可更改。。
  • entry是应用的主模块,存放HarmonyOS应用的代码、资源等。
  • oh_modules是工程的依赖包,存放工程依赖的源文件。
  • oh-package.json5是工程级依赖配置文件,用于记录引入包的配置信息。

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

{
  "app": {
    "bundleName": "com.example.helloworld",
    "vendor": "example",
    "versionCode": 1000000,
    "versionName": "1.0.0",
    "icon": "$media:layered_image",
    "label": "$string:app_name"
  }
}
AI 代码解读
  • bundleName是包名。
  • vendor是应用程序供应商。
  • versionCode是用于区分应用版本。
  • versionName是版本号。
  • icon对应于应用的显示图标。
  • label是应用名。

主模块目录:
--src目录
--main文件夹
--ets文件夹存放模块的ArkTS源码文件(.ets文件)
--resources文件夹存放模块内需要用到的资源文件
--module.json5文件为模块的配置文件,包含当前模块的配置信息。
--ohosTest是单元测试目录。
--oh-package.json5是模块级依赖配置信息文件。

ets目录中

  • entryability存放ability文件,用于当前ability应用逻辑和生命周期管理。
  • entrybackupability:提供扩展的备份恢复能力
  • pages存放UI界面相关代码文件,初始会生成一个Index页面。

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

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

蓝鹰
+关注
目录
打赏
0
5
5
0
128
分享
相关文章
鸿蒙NEXT时代你所不知道的全平台跨端框架:CMP、Kuikly、Lynx、uni-app x等
本篇基于当前各大活跃的跨端框架的现状,对比当前它们的情况和未来的可能,帮助你在选择框架时更好理解它们的特点和差异。
94 0
纯血鸿蒙NEXT即时通讯/IM系统:RinbowTalk正式发布,全源码、纯ArkTS编写
RainbowTalk是一套基于MobileIMSDK的产品级鸿蒙NEXT端IM系统,目前已正式发布。纯ArkTS、从零编写,无套壳、没走捷径,每一行代码都够“纯”(详见:《RainbowTalk详细介绍》)。 MobileIMSDK是一整套开源IM即时通讯框架,历经10年,超轻量级、高度提炼,一套API优雅支持 UDP 、TCP 、WebSocket 三种协议,支持 iOS、Android、H5、标准Java、小程序、Uniapp、鸿蒙NEXT,服务端基于Netty编写。
108 1
鸿蒙NEXT-鸿蒙三层架构搭建,嵌入HMRouter,实现便捷跳转,新手攻略。(2/3)
本文介绍在三层架构中实现模块依赖的步骤。首先在产品定制层(features)的oh-package.json5文件中导入共享包依赖,如"basic":"file:../../commons/basic"。然后在产品层(products)的配置文件中同时导入公共能力层和产品定制层的依赖,示例展示了如何添加"basic"和"my"两个依赖项。通过这些配置,三层架构的各模块之间建立了完整的依赖关系。
113 0
鸿蒙NEXT-鸿蒙三层架构搭建,嵌入HMRouter,实现便捷跳转,新手攻略。(2/3)
鸿蒙Next仓颉开发语言中的数据类型总结分享
仓颉语言数据类型包括多种数字类型(Int、Float)、字符串(String)、数组(Array、ArrayList、ObservedArrayList)及HashMap。数字类型区分长度和精度,数组支持固定与动态操作,HashMap用于存储键值对。适合开发者快速掌握仓颉基础数据结构。#仓颉 #HarmonyOS
详解鸿蒙Next仓颉开发语言中的全屏模式
仓颉开发语言实现全屏模式教程:默认非全屏,需手动设置沉浸模式以占满屏幕。通过`setWindowLayoutFullScreen`开启全屏,并利用`getWindowAvoidArea`获取摄像头与导航条区域高度,结合AppStorage保存尺寸,适配界面布局,避免内容被遮挡。附屏幕尺寸获取方法及单位说明。
鸿蒙Next仓颉语言开发实战教程:聊天列表
本文分享了 HarmonyOS 仓颉语言实现聊天页面布局的全过程,包括顶部导航栏、动态消息列表及底部输入框的设计与代码实现,详细讲解了上中下结构布局、消息方向区分、阴影设置等内容。
鸿蒙Next仓颉语言开发实战教程:消息列表
本教程分享了使用仓颉语言开发商城应用中的消息列表页面,包含导航栏布局、消息筛选列表及消息内容列表的实现。通过Row、Scroll、List和ForEach等组件,完成页面结构搭建与数据循环渲染,适合初学者实战练习。
鸿蒙Next仓颉语言开发实战教程:设置页面
本教程介绍了仓颉语言商城应用设置页面的开发,重点讲解了List容器的使用。页面分为三组列表内容,第一组直接使用ListItem实现,后两组通过ListItemGroup及自定义组件setrow完成布局。教程还演示了如何通过自定义组件提升代码复用性,并介绍了分割线divider的设置方法,帮助开发者高效构建美观的设置界面。
鸿蒙Next仓颉语言开发实战教程:订单列表
本文介绍了使用仓颉语言开发HarmonyOS商城应用的订单列表页实现方法,包含导航栏、订单类型切换和订单列表展示三部分。通过代码示例讲解了布局技巧与组件使用,适合初学者学习参考。
鸿蒙Next仓颉语言开发实战教程:下拉刷新和上拉加载更多
本文介绍了在仓颉开发语言中实现下拉刷新和上拉加载更多的方法。通过Refresh组件实现下拉刷新,结合Timer模拟网络加载;并通过监听列表滚动事件,在列表底部添加加载动画实现上拉加载更多功能。代码示例清晰实用,适用于商城等含列表交互的移动应用开发。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问