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

module的切换

从FA模型切换到Stage模型时,开发者需要将config.json文件module标签下的配置迁移到module.json5配置文件module标签下,具体差异见下列表格。

表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差异对比
在这里插入图片描述

FA模型的abilities对象标签描述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模型不支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/36509.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode刷题之HOT100之课程表

吃完普通的食堂饭菜,回到实验室,继续做一道题! 1、题目描述 2、逻辑分析 这道题涉及到图相关知识,应用到了拓扑排序。 题意解释 一共有 n 门课要上,编号为 0 ~ n-1。先决条件 [1, 0],意思是必须先上课 0…

触动心弦的成语之旅:《米小圈动画成语》带你走进中华智慧

成语,这些古老而典雅的语言精华,如同中华文化的晶莹明珠,闪耀着历史的光辉和智慧的火花。从古至今,它们在中国人的日常交流中扮演着重要角色,不仅传递着深刻的哲理和文化内涵,更是凝聚了世代智者的思想和智…

【Linux】线程id与互斥(线程三)

上一期我们进行了线程控制的了解与相关操作,但是扔就有一些问题没有解决 本章第一阶段就是解决tid的问题,第二阶段是进行模拟一个简易线程库(为了加深对于C库封装linux原生线程的理解),第三阶段就是互斥。 目录 线程id…

链在一起怎么联机 链在一起远程同玩联机教程

steam中最近特别热门的多人跑酷冒险的游戏:《链在一起》,英文名称叫做Chained Together,在游戏中我们需要开始自己的旅程,在地狱的深处,与我们的同伴被链在一起。我们的任务是通过尽可能高的攀登逃离地狱。每一次跳跃都…

Python第三方库GDAL 安装

安装GDAL的方式多种,包括pip、Anaconda、OSGeo4W等。笔者在安装过程中,唯独使用pip安装遇到问题。最终通过轮子文件(.whl)成功安装。 本文主要介绍如何下载和安装较新版本的GDAL轮子文件。 一、GDAL轮子文件下载 打开Github网站…

Python学习打卡:day16

day16 笔记来源于:黑马程序员python教程,8天python从入门到精通,学python看这套就够了 目录 day16116、SQL 基础和 DDLSQL的概述SQL语言的分类SQL的语法特征DDL — 库管理DDL — 表管理 117、SQL — DMLDML概述数据插入 INSERT数据删除 DEL…

深入理解 Dubbo:分布式服务框架的核心原理与实践

目录 Dubbo 概述Dubbo 的架构Dubbo 的关键组件 服务提供者(Provider)服务消费者(Consumer)注册中心(Registry)监控中心(Monitor)调用链追踪(Trace) Dubbo 的…

专题页面设计指南:从构思到实现

如何设计专题页?你有什么想法?专题页的设计主要以发扬产品优势为核心。一个好的专题页可以从不同的角度向用户介绍产品,扩大产品的相关优势,表达产品的优势,让用户在短时间内了解产品。因此,在设计详细信息…

纯血鸿蒙Beta版本发布,中国华为,站起来了!

2024年6月21日至23日,华为开发者大会2024(HDC 2024)于东莞盛大举行。 此次大会不仅在会场设置了包括鸿蒙原生应用、统一生态统一互联等在内的11个展区,以供展示HarmonyOS NEXT的强大实力,还对外宣布了HarmonyOS的最新进…

240627_关于CNN中图像维度变化问题

240627_关于CNN中图像维度变化问题 在学习一些经典模型时,其中得维度变化关系总搞不太明白,集中学习了以下,在此作以梳理总结: 一般来说涉及到的维度变换都是四个维度,当batch size4,图像尺寸为640*640&a…

kylin v10 离线安装chrome centos离线安装chrome linux离线安装谷歌浏览器

1. 先用自己联网的计算机,下载离线安装包,浏览器输入链接下载安装包: https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm 1.2. 信创环境不用执行下面,因为没网 1.3. 若为阿里云服务器,或服…

AR导航技术加持,图书馆阅读体验智慧升级

在信息爆炸的今天,图书馆作为知识的宝库,其藏书量和种类日益增多。然而,传统的图书馆导航方式已逐渐无法满足用户对快速、准确定位图书的需求。本文将探讨图书馆AR地图导航的实现原理、技术优势、功能特点以及市场前景,揭示为何AR…

VS studio2019配置远程连接Ubuntu

VS studio2019配置远程连接Ubuntu 1、网络配置 (1)获取主机IP (2)获取Ubuntu的IP (3)在 windows 的控制台中 ping 虚拟机的 ipv4 地址,在 Ubuntu 中 ping 主机的 ipv4 地址。 ubuntu: ping…

【Linux】对共享库加载问题的深入理解——基本原理概述

原理概述 【linux】详解——库-CSDN博客 共享库被加载后,系统会为该共享库创建一个结构,这个结构体中的字段描述了库的各种属性。在内存中可能会加载很多库,每一个库都用一个结构体描述。把这些结构体用一些数据结构管理起来,系…

WordPress Dokan Pro插件 SQL注入漏洞复现(CVE-2024-3922)

0x01 产品简介 WordPress Dokan Pro插件是一款功能强大的多供应商电子商务市场解决方案,功能全面、易于使用的多供应商电子商务平台解决方案,适合各种规模的电商项目。允许管理员创建一个多卖家平台,卖家可以注册账户并在平台上创建自己的店铺,展示和销售自己的产品。提供…

kali下安装使用蚁剑(AntSword)

目录 0x00 介绍0x01 安装0x02 使用1. 设置代理2. 请求头配置3. 编码器 0x00 介绍 蚁剑(AntSword)是一个webshell管理工具。 官方文档:https://www.yuque.com/antswordproject/antsword 0x01 安装 在kali中安装蚁剑,分为两部分&am…

Zabbix 监控系统部署

Zabbix 监控系统部署 Zabbix是一个企业级开源分布式监控解决方案,可监控网络的众多参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的运行状况和完整性。 Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的警报。这允许…

java发送图文到公众号

这两天接到了一个新任务,通过后台管理编写文章,发送到官网的同时,推送一份到公众号,研究了一下微信的文档,发现不难,只需要有几个注意点就可以了。 注意: 微信公众号只能访问微信自己上传的图片…

STM32单片机实现串口IAP升级

一.概述 1.要实现串口IAP升级,首先要编写一个bootloader程序,然后再写支持IAP的app程序; 2.keil下bootloader的程序rom和ram设置 3.app程序要用bin文件 注:本文以STM32H743举例,其他stm32单片机IAP升级原理类似。 …

达梦数据库的系统视图v$database

达梦数据库的系统视图v$database 基础信息 OS版本: Red Hat Enterprise Linux Server release 7.9 (Maipo) DB版本: DM Database Server 64 V8 DB Version: 0x7000c 03134284132-20240115-215128-20081在达梦数据库(Dameng Database&#xf…