HUAWEI DevEco Studio教程二(鸿蒙HarmonyOS)

HarmonyOS APP工程结构

HarmonyOS应用发布形态为APP Pack,它是由一个或多个HAP(HarmonyOS Ability Package)包和描述APP Pack属性的pack.info文件组成。
一个HAP在工程目录中对应一个Module,它是由代码、资源、第三方库及应用清单文件组成,可以分为以下两种类型
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界面。
在这里插入图片描述

模板介绍

DevEco Studio支持包括手机、平板、车机、智慧屏、智能穿戴、轻量级智能穿戴和智慧视觉设备的HarmonyOS应用开发。
在这里插入图片描述

手机(Phone)

模板名称介绍
Empty Feature Ability(JS)使用JS语言开发,用于Phone设备的Feature Ability模板。JS提供页面布局(Java提供JS FA的运行环境和入口)。
Empty Feature Ability(Java)使用Java语言开发,用于Phone设备的Feature Ability模板,使用XML布局。
About Feature Ability(Java)使用Java语言开发,用于Phone设备的Feature Ability模板。为开发者提供应用关于页的示例工程,提供了ScrollView布局以及RichText的使用方法。
Business Card Ability(Java)使用Java语言开发,用于Phone设备的Feature Ability模板,使用XML布局。展示了一个名片详情页的样例工程,主要由一个ScrollView嵌套的两个ListContainer组成。
Category List Ability(Java)使用Java语言开发,用于Phone设备的Feature Ability模板,使用XML布局,该模板由标题栏和单行列表组成,其中单行列表被分为多个分组,单行列表中的每一项由左侧文本和右侧文本组成。该模板还提供了ListContainer和RecycleItemProvider的接口使用方法示例。
Device Control Feature Ability(JS)使用JS语言开发,用于Phone设备的Feature Ability模板。支持由开发者编写json配置文件来生成对应的设备控制界面,支持HiLink和三方云两种设备控制方式,示例配置文件中提供了牙刷、台灯、豆浆机三种样例。

平板电脑(Tablet)

模板名称介绍
Empty Feature Ability(JS)使用JS语言开发,用于Tablet设备的Feature Ability模板。JS提供页面布局(Java提供JS FA的运行环境和入口)。
Empty Feature Ability(Java)使用Java语言开发,用于Tablet设备的Feature Ability模板,使用XML布局,居中显示“Hello World”。

其他项目还有很多,这里不做介绍

创建工程

1.在DevEco Studio的欢迎页,选择Create HarmonyOS Project开始创建一个新工程。(如果已经打开了工程,可以在菜单栏选择File > New > New Project来创建一个新工程。)
2.选择模板
在这里插入图片描述

3.点击Next,进入到工程配置阶段。
4.配置:
在这里插入图片描述
Project Name:工程的名称,可以自定义。
Package Name:软件包名称,默认情况下,应用ID也会使用该名称,应用发布时,应用ID需要唯一。
Save Location:工程文件本地存储路径。
Compatible API Version:兼容的SDK最低版本。

在工程中添加Module

Module是HarmonyOS应用的基本功能单元,包含了源代码、资源文件、第三方库及应用清单文件,每一个Module都可以独立进行编译和运行。下面介绍如何添加
1.鼠标移到工程目录顶部,点击鼠标右键,选择New>Module,开始创建新的Module。(或在菜单栏选择File > New > Module)
2.在弹出的页面中选择Module对应的设备类型和模板。
在这里插入图片描述
3.点击Next,在Module配置页面,设置新增Module的基本信息。
在这里插入图片描述
Library name:Java Library类名称。
Java package name:软件包名称,可以点击Edit修改默认包名称,需全局唯一。
Java class name:class文件名称。
Create.gitignore file:是否自动创建.gitignore文件,勾选表示创建。
4.点击Next,设置新增Ability的Page Name。

Visible参数,表示该Ability是否可以被其它应用所调用。

点击Finish,等待创建完成后,如下图
在这里插入图片描述

删除Module

在菜单栏中选择File > Project Structure > Modules,选择需要删除的Module,点击➖按钮,并在弹出的对话框中点击Yes。
在这里插入图片描述
在这里插入图片描述
然后在工程目录中选中该模块,点击鼠标右键,选中Delete,并在弹出的对话框中点击Delete。
在这里插入图片描述

在模块中添加Ability

Ability是应用所具备的能力的抽象。Ability分为两种类型:FA(Feature Ability)和PA(Particle Ability)
FA支持Page Ability:
Page模板是FA唯一支持的模板,用于提供与用户交互的能力。一个Page实例可以包含一组相关页面,每个页面用一个AbilitySlice实例表示。

PA支持Service Ability和Data Ability:
Service模板:用于提供后台运行任务的能力。
Data模板:用于对外部提供统一的数据访问抽象。

创建Particle Ability

1.点击鼠标右键,选择New > Ability ,然后选择Empty Data Ability或者Empty Service Ability(下图以Wearable设备为例,不同设备支持的Ability模板不同)。
在这里插入图片描述

2.设置Ability的基本信息
Empty Data Ability基本信息设置:
Data Name:Data Ability类名称。
Visible:表示该Ability是否可以被其它应用所调用,勾选上则表示允许被调用。
Package name:新增Ability对应的包名称。
Empty Service Ability基本信息设置:
Service Name:Service Ability类名称。
Visible:表示该Ability是否可以被其它应用所调用,勾选上则表示允许被调用。
Package name:新增Ability对应的包名称。
Enable background mode:指定用于满足特定类型的后台服务,可以将多个后台服务类型分配给特定服务。各服务与config.json文件的映射关系如下表所示。
下为图片(Empty Data Ability)
在这里插入图片描述
点击Finish完成Ability的创建。

posted @ 2022-04-30 21:24  刘火火学电脑  阅读(703)  评论(1编辑  收藏  举报