HarmonyOS应用工程结构与设备模板

网友投稿 811 2022-05-30

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 组成。

HarmonyOS之应用工程结构与设备模板

Ability 分为两种类型:FA(Feature Ability,中文名称:元程序)和PA(Particle Ability,中文名称:元服务)。FA/PA 是应用的基本组成单元,能够实现特定的业务功能,FA 有 UI 界面,而 PA 无 UI 界面。

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

结构分析:

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

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

entry>libs:用于存放 entry 模块的依赖文件。

entry>src>main>Java:用于存放 Java 源码。

entry>src>main>resources:用于存放应用所用到的资源文件,如图形、多媒体、字符串、布局文件等。

entry>src>main>config.json:HAP 清单文件,详细说明请参考 config.json 配置文件介绍。

entry>src>test:编写代码单元测试代码的目录,运行在本地 Java 虚拟机(JVM)上。

entry>.gitignore:标识 git 版本管理需要忽略的文件。

entry>build.gradle:entry 模块的编译配置文件。

资源目录说明如下:

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

common目录:可选,用于存放公共资源文件,如媒体资源、自定义组件和 JS 文档等。

i18n 目录:可选,用于存放多语言的 json 文件,可以在该目录下定义应用在不同语言系统下显示的内容,如应用文本词条、图片路径等。

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

pages>index>index.hml 文件:hml 文件定义了页面的布局结构,使用到的组件,以及这些组件的层级关系。

pages>index>index.css 文件:css 文件定义了页面的样式与布局,包含样式选择器和各种样式属性等。

pages>index>index.js 文件:js 文件描述了页面的行为逻辑,此文件里定义了页面里所用到的所有的逻辑关系,比如数据、事件等。

resources:可选,用于存放资源配置文件,比如:全局样式、多分辨率加载等配置文件。resources 资源引用示例请参考根据设备分辨率加载图片。

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

DevEco Studio 支持包括手机、平板、车机、智慧屏、智能穿戴、轻量级智能穿戴和智慧视觉设备的 HarmonyOS 应用开发,预置了丰富的工程模板,可以根据工程向导轻松创建适应于各类设备的工程,并自动生成对应的代码和资源模板。

同时,DevEco Studio 还提供了多种编程语言供开发者进行 HarmonyOS 应用开发,包括 Java、JS 和 C/C++ 编程语言。

支持的各设备类型工程模板和对应开发语言的对应关系:

跨设备模板,如下表所示:

单设备模板,如下表所示:

Java JavaScript

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:[图像处理] Python+OpenCV实现车牌区域识别及Sobel算子丨【拜托了,物联网!】
下一篇:SpringBoot教程(十一) | SpringBoot集成Mybatis
相关文章