购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4 分析第一个HarmonyOS工程

本节将分析HarmonyOS工程的结构,主要包括HarmonyOS工程的目录结构和配置文件config.json的核心选项。

1.4.1 HarmonyOS工程的目录结构

HarmonyOS工程的目录结构如图1—16所示。

图1—16 HarmonyOS工程的目录结构

尽管HarmonyOS工程的目录结构比较复杂,但并不是所有的目录和文件都经常被使用。本节将介绍两个比较常用的目录——java目录和resources目录。这两个目录的位置如下。

● java目录:<HarmonyOS工程根目录>/entry/src/main/ java。

● resources目录:<HarmonyOS工程根目录>/entry/src/ main/resources。

java目录用来保存HarmonyOS App中的Java代码文件,resources目录用来保存HarmonyOS App中的各种资源,如图像、字符串、数据库等。

我们打开java目录,会看到该目录中会有若干个java包,如果是新创建的HarmonyOS工程,里面只有一个java包,如本例的com.unitymarvel.firsttvdemo。在包目录中有若干个Java文件,主要的编码工作会在该目录中完成。

如果HarmonyOS App中要使用资源,而且这些资源要被嵌入到hap文件中,则需要将资源文件放到resources目录下,后面的章节会详细描述具体规则。

1.4.2 HarmonyOS工程的主配置文件——config.json

绝大多数工程都会有一个主配置文件,HarmonyOS工程也不例外,这个主配置文件就是config.json。很明显,config.json是JSON格式的配置文件。

config.json文件由3个顶层属性组成,这3个属性如表1—1所示。

表1—1 config.json的顶层属性

在这3个属性中,app和module的使用比较频繁,尤其是module属性,修改的次数会比较多。因为HarmonyOS App的重要组成部分——Ability,必须在module中进行配置后才能使用。

DevEco Studio提供了自动创建Ability的功能,在HarmonyOS工程中,单击鼠标右键弹出菜单,选择New→Ability菜单项,会弹出图1—17所示的创建各种类型的Ability的菜单项。在创建某一个类型的Ability后,config.json文件中将自动添加相关的信息,通常不需要开发人员手动添加Ability信息,当然,开发人员可以在自动添加的Ability信息的基础上进行修改。

图1—17 创建各种类型的Ability的菜单项

假设要创建一个名为MyAbility的FA,在config.json中将自动生成如下配置代码:

{
    "orientation": "landscape",
    "formEnabled": false,
    "name": "com.unitymarvel.firsttvdemo.MyAbility",
    "icon": "$media:icon",
    "description": "$string:myability_description",
    "label": "entry",
    "type": "page",
    "launchType": "standard"
}

这段配置代码涉及的属性比较多,例如,orientation用来指定默认的方向(横屏或竖屏),name用来指定当前Ability的类名(包含包名),label用来指定Ability的标题文本等。关于config.json文件中配置的详细描述,读者可以参阅官方的文档,链接如下:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/basic-config-file-elements-0000000000034463#ZH-CN_TOPIC_0000001050708780__table34298422421 j0JML8JtzygUeFNvYi2mpwGBw7AkPGSIgzYMcG1pAVTlBPILUwNKr34bU8IsvWMD

点击中间区域
呼出菜单
上一章
目录
下一章
×