HarmonyOS应用开发简介
采用ArkTS(TS基础上的扩展,TS又是JS的超集)语言
开发工具采用DevEco Studio:HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者
UI框架ArkUI
网络与存储等应用开发基础
特征:一次开发,多端部署。可分可合,自由流转
DevEco Studio下载完成后,创建项目,项目名Helloworld
- Project name是开发者可以自行设置的项目名称,这里根据自己选择修改为自己项目名称。
- Bundle name是包名称,默认情况下应用ID也会使用该名称,应用发布时对应的ID需要保持一致。
- Save location为工程保存路径,建议用户自行设置相应位置。
- Compile SDK是编译的API版本,这里默认选择API9。
- Model选择Stage模型,其他保持默认即可。
Ohos:
AppScope主要用于存放整个应用公共的信息与资源
Entry是默认的初始模块:
ets文件夹内存放编写的代码文件;
configuration存放相应模块的配置文件;
resources对应模块内的公共资源
外层的configuration存放工程应用级的配置文件
Project:
学习初期的开发主要集中在ets文件夹中,例如pages用于存放页面,index为初始页面
在AppScope,其中有resources文件夹和配置文件app.json5。AppScope>resources>base中包含element和media两个文件夹,
- 其中element文件夹主要存放公共的字符串、布局文件等资源。
- media存放全局公共的多媒体资源文件。
-
app.json5
AppScope>app.json5是应用的全局的配置文件,用于存放应用公共的配置信息
-
module.json5
entry>src>main>module.json5是模块的配置文件,包含当前模块的配置信息。
-
module对应的是模块的配置信息,一个模块对应一个打包后的hap包,hap包全称是HarmonyOS Ability Package,其中包含了ability、第三方库、资源和配置文件。
-
属性
描述
name
该标签标识当前module的名字,module打包成hap后,表示hap的名称,标签值采用字符串表示(最大长度31个字节),该名称在整个应用要唯一。
type
表示模块的类型,类型有三种,分别是entry、feature和har。
srcEntry
当前模块的入口文件路径。
description
当前模块的描述信息。
mainElement
该标签标识hap的入口ability名称或者extension名称。只有配置为mainElement的ability或者extension才允许在服务中心露出。
deviceTypes
该标签标识hap可以运行在哪类设备上,标签值采用字符串数组的表示。
deliveryWithInstall
标识当前Module是否在用户主动安装的时候安装,表示该Module对应的HAP是否跟随应用一起安装。- true:主动安装时安装。- false:主动安装时不安装。
installationFree
标识当前Module是否支持免安装特性。- true:表示支持免安装特性,且符合免安装约束。- false:表示不支持免安装特性。
pages
对应的是main_pages.json文件,用于配置ability中用到的page信息。
abilities
是一个数组,存放当前模块中所有的ability元能力的配置信息,其中可以有多个ability。
-
对于abilities中每一个ability的属性项,其描述信息
属性
描述
name
该标签标识当前ability的逻辑名,该名称在整个应用要唯一,标签值采用字符串表示(最大长度127个字节)。
srcEntry
ability的入口代码路径。
description
ability的描述信息。
icon
ability的图标。该标签标识ability图标,标签值为资源文件的索引。该标签可缺省,缺省值为空。如果ability被配置为MainElement,该标签必须配置。
label
ability的标签名。
startWindowIcon
启动页面的图标。
startWindowBackground
启动页面的背景色。
visible
ability是否可以被其他应用程序调用,true表示可以被其它应用调用, false表示不可以被其它应用调用。
skills
标识能够接收的意图的action值的集合,取值通常为系统预定义的action值,也允许自定义。
entities
标识能够接收的Want的Action值的集合,取值通常为系统预定义的action值,也允许自定义。
actions
标识能够接收Want的Entity值的集合。
-
main_pages.json
src/main/resources/base/profile/main_pages.json文件保存的是页面page的路径配置信息,所有需要进行路由跳转的page页面都要在这里进行配置。
更详细的解说,参考官方文档