-

HarmonyOS APP工程结构

在进行 HarmonyOS 应用开发前,您应该掌握 HarmonyOS 应用的逻辑结构。

HarmonyOS 应用发布形态为 APP Pack (Application Package,简称 APP),它是由一个或多个 HAP(HarmonyOS Ability Package)包以及描述 APP Pack 属性的 pack.info 文件组成。

一个 HAP 在工程目录中对应一个 Module,它是由代码、资源、第三方库及应用清单文件组成,可以分为 Entry 和 Feature 两种类型。

  • Entry:应用的主模块。一个 APP 中,对于同一设备类型必须有且只有一个 entry 类型的HAP,可独立安装运行。
  • Feature:应用的动态特性模块。一个 APP 可以包含一个或多个 feature 类型的 HAP,也可以不含。

HAP 是 Ability 的部署包,HarmonyOS 应用代码围绕 Ability 组件展开,它是由一个或多个 Ability 组成。Ability 分为两种类型:FA(Feature Ability)和 PA(Particle Ability)。FA/PA 是应用的基本组成单元,能够实现特定的业务功能。FA 有 UI 界面,而 PA 无 UI 界面。

点击放大

工程目录结构

Java工程目录结构

Java 工程目录结构如下图所示。

img

.gradle:Gradle 配置文件,由系统自动生成,一般情况下不需要进行修改。

  • entry

:默认启动模块(主模块),开发者用于编写源码文件以及开发资源文件的目录。

  • entry>libs:用于存放 entry 模块的依赖文件。
  • entry>.gitgnore:标识 git 版本管理需要忽略的文件。
  • entry>build.gradle:entry 模块的编译配置文件。
  • entry>src>main>Java:用于存放 Java 源码。
  • entry>src>main>resources:用于存放资源文件。
  • entry>src>main>config.json:HAP 清单文件,详细说明请参考config.json清单文件介绍
  • entry>src>test:编写测试文件的目录。

JS工程目录结构

JS 工程目录结构如下图所示。

img

  • pages 目录:

pages 文件夹下可以包含 1 个或多个页面,每个页面都需要创建一个文件夹(如图中的 index)。页面文件夹下主要包含 3 种文件类型:css、js 和 hml 文件。

  • pages > index > index.hml文件:hml 文件定义了页面的布局结构,使用到的组件,以及这些组件的层级关系。
  • pages > index > index.css文件:css 文件定义了页面的样式与布局,包含样式选择器和各种样式属性等。
  • pages > index > index.js文件:js 文件描述了页面的行为逻辑,此文件里定义了页面里所用到的所有的逻辑关系,比如数据、事件等。

  • app.js文件:全局的 JavaScript 逻辑文件和应用的生命周期管理。