0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙开发Ability Kit程序框架服务:FA模型切换Stage模型指导 module的切换

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-06-27 14:16 次阅读

module的切换

从FA模型切换到Stage模型时,开发者需要将config.json文件module标签下的配置迁移到module.json5配置文件module标签下,具体差异见下列表格。 开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

表1 FA模型module标签与Stage模型module标签差异对比

FA标签标签说明对应的Stage标签差异说明
mainAbility服务中心图标露出的ability,常驻进程拉起时会启动mainAbility。mainElement标签名称变更,Stage模型不在使用“.”符号。
package标识HAP的包结构名称,在应用内保证唯一性。/Stage模型使用name来保证应用唯一性。FA模型升级到Stage模型时,Stage模型的name需要和FA模型的package保持一致,否则会导致升级失败。
name标识HAP的类名。/FA模型中实际未使能,Stage模型没有与之对应的标签。
supportedModes标识应用支持的运行模式,当前只定义了驾驶模式(drive)。/Stage模型已废弃。
distro对象中的moduleName标识当前HAP的名称。distro对象中的moduleName。name标签变更。
distro对象中的moduleType标识当前HAP的类型,包括两种类型:entry和feature。另外,如果表示HAR包类型,请设置为har。type标签变更。
distro对象中的installationFree标识当前HAP是否支持免安装特性。installationFree标签变更。
distro对象中的deliveryWithInstall标识当前HAP是否支持随应用安装。deliveryWithInstall标签变更。
metaData标识HAP的元信息metadata具体差异见表2。
abilities标识当前模块内的所有Ability。abilities具体差异见表5。
js标识基于ArkUI框架开发的JS模块集合,其中的每个元素代表一个JS模块的信息。pagesStage模型在module标签下保留该对象中的pages,window配置与pages的下一级。
shortcuts标识应用的快捷方式信息。shortcut_config.json文件在开发视图的resources/base/profile下面定义配置文件shortcut_config.json。
reqPermissions标识应用运行时向系统申请的权限。requestPermissions标签名称变更。
colorMode标识应用自身的颜色模式。/Stage模型不支持。
distroFilter标识应用的分发规则。distributionFilter_config.json文件Stage模型在开发视图的resources/base/profile下面定义配置文件distributionFilter_config.json。
reqCapabilities标识运行应用程序所需的设备能力。/Stage模型不支持。
commonEvents公共事件。common_event_config.json文件Stage模型在开发视图的resources/base/profile下面定义配置文件common_event_config.json。
entryTheme此标签标识系统内部主题的关键字。/Stage模型不支持。

表2 FA模型metaData和Stage中metadata对比

FA标签标签说明对应的Stage模型标签差异对比
parameters标识调用Ability时所有调用参数的元信息。/Stage模型不支持。
results标识Ability返回值的元信息。/Stage模型不支持。
customizeData该标签标识父级组件的自定义元信息,Parameters和results在application不可配。metadata具体差异见表3。

表3 FA模型metaData的customizeData和Stage中metadata对比

FA标签标签说明对应的Stage模型标签差异对比
name标识数据项的键名称。字符串最大长度为255字节。name无。
value标识数据项的值。字符串最大长度为255字节。value无。
extra标识当前custom数据的格式,取值为表示extra的资源值。resource标签变更。具体实例见表4。

表4 FA模型metaData和Stage中metadata示例

FA模型示例Stage模型示例
“meteData”: { "customizeDate": [{ "name": "label", "value": "string", "extra": "**string:label", }] }“meteData”: [{ "name": "label", "value": "string", "resource": "**string:label", }]

表5 FA模型和Stage中abilities差异对比

搜狗高速浏览器截图20240326151547.png

FA模型的abilities对象标签描述HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789是v直接拿Stage模型中abilities对象标签差异对比
process运行应用程序或Ability的进程名称。/Stage模型不支持abilities中配置,在module标签下配置process。
uri标识Ability的统一资源标识符。/Stage模型不支持。
deviceCapability标识Ability运行时要求设备具有的能力,采用字符串数组的格式表示。/Stage模型不支持。
metaData该标签标识ability的元信息。metadata具体差异见表2。
type标识Ability的类型。/Stage模型不支持。
grantPermission指定是否可以向Ability内任何数据授予权限。/abilities内不支持。
readPermission标识读取Ability的数据所需的权限。该标签仅适用于data类型的Ability。/abilities内不支持,在extensionAbilities标签中支持。
writePermission标识向Ability写数据所需的权限。/abilities内不支持,在extensionAbilities标签中支持。
configChanges标识Ability关注的系统配置集合。/Stage模型不支持。
mission标识Ability指定的任务栈。/Stage模型不支持。
targetAbility标识当前Ability重用的目标Ability。/Stage模型不支持。
multiUserShared标识Ability是否支持多用户状态进行共享,该标签仅适用于data类型的Ability。/Stage模型不支持。
supportPipMode标识Ability是否支持用户进入PIP模式(用于在页面最上层悬浮小窗口,俗称"画中画",常见于视频播放等场景)。/Stage模型不支持。
formsEnabled标识Ability是否支持卡片(forms)功能。/Stage模型不支持。
forms标识服务卡片的属性。该标签仅当formsEnabled为"true"时,才能生效。form_config.json文件Stage模型在开发视图的resources/base/profile下面定义配置文件form_config.json。
srcLanguageAbility开发语言的类型。/Stage模型不支持。
srcPath该标签标识Ability对应的JS组件代码路径。srcEntry该标签标识ability所对应的js代码路径。
uriPermission标识该Ability有权访问的应用程序数据。/Stage模型不支持。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 程序员
    +关注

    关注

    4

    文章

    950

    浏览量

    29625
  • 鸿蒙
    +关注

    关注

    55

    文章

    2103

    浏览量

    42272
  • HarmonyOS
    +关注

    关注

    79

    文章

    1946

    浏览量

    29532
  • OpenHarmony
    +关注

    关注

    24

    文章

    3491

    浏览量

    15412
  • 鸿蒙OS
    +关注

    关注

    0

    文章

    202

    浏览量

    4313
收藏 人收藏

    评论

    相关推荐

    鸿蒙Ability开发-Stage模型Ability的创建和使用

    Ability开发技术的简单运用,更多的鸿蒙开发技术可以前往我主页查询,下面分享鸿蒙开发4.0
    发表于 01-08 15:34

    鸿蒙服务万能卡片开发-stage模型fa模型的卡片区别

    一、项目类型 Application: 应用开发 Atomic Service:原子化服务开发 这里选择Empty Ability模板创建项目。 二、
    发表于 05-22 14:20

    鸿蒙开发Ability Kit程序框架服务FA模型Stage模型应用组件互通综述

    FA模型Stage模型是两套不同的应用模型,他们拥有各自的组件。FA
    的头像 发表于 06-24 16:43 189次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>与<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>应用组件互通综述

    鸿蒙开发Ability Kit程序框架服务FA模型启动Stage模型UIAbility

    本文介绍FA模型的三种应用组件如何启动Stage模型的UIAbility组件。
    的头像 发表于 06-25 16:00 160次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>启动<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>UIAbility

    鸿蒙开发Ability Kit程序框架服务FA模型绑定Stage模型ServiceExtensionAbility

    本文介绍FA模型的三种应用组件如何绑定Stage模型的ServiceExtensionAbility组件。
    的头像 发表于 06-25 10:43 86次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>绑定<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>ServiceExtensionAbility

    鸿蒙开发Ability Kit程序框架服务FA模型访问Stage模型DataShareExtensionAbility

    无论FA模型还是Stage模型,数据读写功能都包含客户端和服务端两部分。
    的头像 发表于 06-25 14:30 130次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>访问<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>DataShareExtensionAbility

    鸿蒙开发Ability Kit程序框架服务Stage模型启动FA模型PageAbility

    本小节介绍Stage模型的两种应用组件如何启动FA模型的PageAbility组件。
    的头像 发表于 06-26 09:50 117次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>:<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>启动<b class='flag-5'>FA</b><b class='flag-5'>模型</b>PageAbility

    鸿蒙开发Ability Kit程序框架服务Stage模型绑定FA模型ServiceAbility

    本小节介绍Stage模型的两种应用组件如何绑定FA模型ServiceAbility组件。
    的头像 发表于 06-25 21:47 67次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>:<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>绑定<b class='flag-5'>FA</b><b class='flag-5'>模型</b>ServiceAbility

    鸿蒙开发Ability Kit程序框架服务FA模型切换Stage模型概述

    本文介绍如何将一个FA模型开发的声明式范式应用切换Stage模型
    的头像 发表于 06-26 14:40 102次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>:<b class='flag-5'>FA</b><b class='flag-5'>模型</b><b class='flag-5'>切换</b><b class='flag-5'>Stage</b><b class='flag-5'>模型</b>概述

    鸿蒙开发Ability Kit程序框架服务FA模型切换Stage模型指导 配置文件差异

    FA模型应用在[config.json文件]中描述应用的基本信息,一个应用工程中可以创建多个Module,每个Module中都有一份config.json文件。config.json由
    的头像 发表于 06-27 09:50 100次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>:<b class='flag-5'>FA</b><b class='flag-5'>模型</b><b class='flag-5'>切换</b><b class='flag-5'>Stage</b><b class='flag-5'>模型</b><b class='flag-5'>指导</b> 配置文件差异

    鸿蒙开发Ability Kit程序框架服务FA模型切换Stage模型指导 app和deviceConfig的切换

    为了便于开发者维护应用级别的属性配置,Stage模型将config.json中的app和deviceConfig标签提取到了app.json5中进行配置,并对部分标签名称进行了修改,具体差异见下表。
    的头像 发表于 06-27 10:01 94次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>:<b class='flag-5'>FA</b><b class='flag-5'>模型</b><b class='flag-5'>切换</b><b class='flag-5'>Stage</b><b class='flag-5'>模型</b><b class='flag-5'>指导</b> app和deviceConfig的<b class='flag-5'>切换</b>

    鸿蒙开发Ability Kit程序框架服务:PageAbility切换 组件切换

    FA模型中PageAbility对应Stage模型中的UIAbility,PageAbility切换为UIAbility的方法如下。
    的头像 发表于 06-28 11:38 141次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>:PageAbility<b class='flag-5'>切换</b> 组件<b class='flag-5'>切换</b>

    鸿蒙开发Ability Kit程序框架服务:ServiceAbility切换 组件切换

    FA模型中的ServiceAbility对应Stage模型中的ServiceExtensionAbility。Stage
    的头像 发表于 06-28 10:24 86次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>:ServiceAbility<b class='flag-5'>切换</b> 组件<b class='flag-5'>切换</b>

    鸿蒙开发Ability Kit程序框架服务:DataAbility切换 组件切换

    FA模型中的DataAbility对应Stage模型中的DataShareExtensionAbility。
    的头像 发表于 06-28 14:08 36次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>:DataAbility<b class='flag-5'>切换</b> 组件<b class='flag-5'>切换</b>

    鸿蒙开发Ability Kit程序框架服务:API切换概述 API切换

    FA模型Stage模型由于线程模型和进程模型的差异,部分接口仅在
    的头像 发表于 06-28 16:23 98次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>:API<b class='flag-5'>切换</b>概述 API<b class='flag-5'>切换</b>