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工程目录结构如下图所示。
.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工程目录结构如下图所示。
- 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逻辑文件和应用的生命周期管理。