从FA模型切换到Stage模型时,开发者需要将config.json文件module标签下的配置迁移到module.json5配置文件module标签下,具体差异见下列表格。
表1FA模型模块标签与Stage模型module标签差异对比
FA标签 | 标签说明 | 对应的Stage标签 | 差异说明 |
---|---|---|---|
mainAbility | 服务中心图标露出的ability,常驻进程拉起时会启动mainAbility。 | main元素 | 标签名称变更,Stage模型不在使用.符号。 |
包 | 标识HAP的包结构名称,在应用内保证唯一性。 | / | Stage模型使用name来保证应用唯一性。FA模型升级到Stage模型时,Stage模型的name需要和FA模型的包保持一致,否则会导致升级失败。 |
名字 | 标识HAP的类名 | / | FA模型中实际未使能,Stage模型没有与之对应的标签。 |
支持模式 | 标识应用支持的运行模式,当前只定义了驾驶模式(drive) | / | Stage模型已废弃。 |
distro对象中的moduleName | 标识当前HAP的名称 distro对象中的moduleName | 名字 | 标签变更。 |
distro对象中的moduleType | 标识当前HAP的类型,包括两种类型:entry和feature。另外,如果表示HAR包类型,请设置为har | 类型 | 标签变更。 |
distro对象中的installationFree | 标识当前HAP是否支持免安装特性 | 安装免费 | 标签变更。 |
distro对象中的deliveryWithInstall | 标识当前HAP是否支持随应用安装 | deliveryWithInstall | 标签变更。 |
元数据 | 标识HAP的元信息 | 元数据 | 具体差异见表2。 |
能力 | 标识当前模块内的所有Ability | 能力 | 具体差异见表5。 |
JS系列 | 标识基于ArkUI框架开发的JS模块集合,其中的每个元素代表一个JS模块的信息 | 页面 | Stage模型在模块标签下保留该对象中的页面,window配置与页面的下一级。 |
快捷方式 | 标识应用的快捷方式信息 | shortcut_config.json文件 | 在开发视图的resources/base/profile下面定义配置文件shortcut_config.json。 |
reqPermissions | 标识应用运行时向系统申请的权限 | requestPermissions | 标签名称变更。 |
color模式 | 标识应用自身的颜色模式 | / | Stage模型不支持。 |
distroFilter | 标识应用的分发规则 | distributionFilter_config.json文件 | Stage模型在开发视图的resources/base/profile下面定义配置文件distributionFilter_config.json。 |
reqCapabilities | 标识运行应用程序所需的设备能力 | / | Stage模型不支持。 |
共同事件 | 公共事件 | common_event_config.json文件 | Stage模型在开发视图的resources/base/profile下面定义配置文件common_event_config.json。 |
entry主题 | 此标签标识系统内部主题的关键字 | / | Stage模型不支持。 |
表2FA模型metaData和Stage中metadata对比
FA标签 | 标签说明 | 对应的Stage模型标签 | 差异对比 |
---|---|---|---|
参数 | 标识调用Ability时所有调用参数的元信息 | / | Stage模型不支持。 |
结果 | 标识Ability返回值的元信息 | / | Stage模型不支持。 |
自定义数据 | 该标签标识父级组件的自定义元信息,Parameters和results在application不可配 | 元数据 | 具体差异见表3。 |
表3FA模型metaData的customizeData和Stage中metadata对比
FA标签 | 标签说明 | 对应的Stage模型标签 | 差异对比 |
---|---|---|---|
名字 | 标识数据项的键名称。字符串最大长度为255字节 | 名字 | 无。 |
价值 | 标识数据项的值。字符串最大长度为255字节。 | 价值 | 无。 |
额外 | 标识当前自定义数据的格式,取值为表示额外的资源值。 | 资源 | 标签变更。具体实例见表4。 |
表4FA模型metaData和Stage中metadata示例
FA模型示例 | Stage模型示例 |
---|---|
“meteData”: { “customizeDate”: [{ “name”: “label”, “value”: “string”, “extra”: “$string:label”, }] } | “meteData”: [{ “name”: “label”, “value”: “string”, “resource”: “$string:label”, }] |
表5FA模型和Stage中abilities差异对比
FA模型的abilities对象标签 | 描述 | Stage模型中abilities对象标签 | 差异对比 |
---|---|---|---|
过程 | 运行应用程序或Ability的进程名称 | / | Stage模型不支持abilities中配置,在模块标签下配置process |
URI | 标识Ability的统一资源标识符 | / | Stage模型不支持 |
设备功能 | 标识Ability运行时要求设备具有的能力,采用字符串数组的格式表示 | / | Stage模型不支持 |
元数据 | 该标签标识ability的元信息。 | 元数据 | 具体差异见表2 |
类型 | 标识Ability的类型 | / | Stage模型不支持 |
grantPermission 权限 | 指定是否可以向Ability内任何数据授予权限 | / | abilities内不支持; |
读取权限 | 标识读取Ability的数据所需的权限。该标签仅适用于data类型的Ability | / | abilities内不支持;在extensionAbilities标签中支持 |
写权限 | 标识向Ability写数据所需的权限 | / | abilities内不支持;在extensionAbilities标签中支持 |
config更改 | 标识Ability关注的系统配置集合 | / | Stage模型不支持 |
任务 | 标识Ability指定的任务栈 | / | Stage模型不支持 |
目标能力 | 标识当前Ability重用的目标Ability | / | Stage模型不支持 |
multiUserShared | 标识Ability是否支持多用户状态进行共享,该标签仅适用于数据类型的Ability | / | Stage模型不支持 |
支持PipMode | 标识Ability是否支持用户进入PIP模式(用于在页面最上层悬浮小窗口,俗称“画中画”,常见于视频播放等场景) | / | Stage模型不支持 |
已启用表单 | 标识Ability是否支持卡片(forms)功能 | / | Stage模型不支持 |
形式 | 标识服务卡片的属性。该标签仅当formsEnabled为“true”时,才能生效 | form_config.json文件 | Stage模型在开发视图的resources/base/profile下面定义配置文件form_config.json |
src语言 | Ability开发语言的类型 | / | Stage模型不支持 |
src路径 | 该标签标识Ability对应的JS组件代码路径 | src条目 | 该标签标识ability所对应的js代码路径。 |
uriPermission | 标识该Ability有权访问的应用程序数据 | / | Stage模型不支持 |
最后
有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。
这份鸿蒙(HarmonyOS NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。
希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!
获取这份完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料
鸿蒙(HarmonyOS NEXT)最新学习路线
-
HarmonOS基础技能
- HarmonOS就业必备技能
- HarmonOS多媒体技术
- 鸿蒙NaPi组件进阶
- HarmonOS高级技能
- 初识HarmonOS内核
- 实战就业级设备开发
有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。
获取以上完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料
《鸿蒙 (OpenHarmony)开发入门教学视频》
《鸿蒙生态应用开发V2.0白皮书》
《鸿蒙 (OpenHarmony)开发基础到实战手册》
OpenHarmony北向、南向开发环境搭建
《鸿蒙开发基础》
- ArkTS语言
- 安装DevEco Studio
- 运用你的第一个ArkTS应用
- ArkUI声明式UI开发
- .……
《鸿蒙开发进阶》
- Stage模型入门
- 网络管理
- 数据管理
- 电话服务
- 分布式应用开发
- 通知与窗口管理
- 多媒体技术
- 安全技能
- 任务管理
- WebGL
- 国际化开发
- 应用测试
- DFX面向未来设计
- 鸿蒙系统移植和裁剪定制
- ……
《鸿蒙进阶实战》
- ArkTS实践
- UIAbility应用
- 网络案例
- ……
获取以上完整鸿蒙HarmonyOS学习资料,请点击→纯血版全套鸿蒙HarmonyOS学习资料
总结
总的来说,华为鸿蒙不再兼容安卓,对中年程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,他们才能在这个变革的时代中立于不败之地。