【HarmonyOS】鸿蒙开发之Stage模型-应用配置文件——第4.2章

Stage模型-应用配置文件

  • AppScope -> app.json5:应用的全局配置信息
  • entry:OpenHarmony工程模块,编译构建生成一个HAP
    • build:用于存放OpenHarmony编译生成的hap包
    • src -> main -> ets:用于存放ArkTS源码
    • src -> main -> ets > entryability:应用/服务的入口
    • src -> main -> ets > pages:应用/服务包含的页面
    • src -> main -> resources:用于存放项目的资源文件,如图片、音频等
    • src > main > module.json5:模块配置文件(局部)
    • build-profile.json5:当前的模块信息 、编译信息配置项,包括buildOption、targets配置等
    • hvigorfile.ts:模块级编译构建任务脚本,开发者可以自定义相关任务和代码实现
  • oh_modules:用于存放三方库依赖信息
  • build-profile.json5:应用级配置信息,包括签名signingConfigs、产品配置products等
  • hvigorfile.ts:应用级编译构建任务脚本

在这里插入图片描述

模块基础配置

{"module": {//模块名称(最大长度31个字节)"name": "entry",//模块类型。分别:- entry:应用的主模块。feature:应用的动态特性模块。"type": "entry",//模块描述。$string:module_desc对应:src/main/resources/element/string.json文件下的module_desc对象名"description": "$string:module_desc",//当前模块的入口名称。对应:"mainElement": "EntryAbility",//当前模块可以运行在哪类设备上//phone:手机 table:平板类  car:车机  wearable:手表  tv:智慧屏"deviceTypes": ["phone","tablet"],//当前模块是否在用户主动安装的时候安装,表示该Module对应的HAP是否跟随应用一起安装"deliveryWithInstall": true,//标识当前Module是否支持免安装特性。//- true:表示支持免安装特性,且符合免安装约束。////- false:表示不支持免安装特性。//- 当应用的entry类型Module的该字段配置为true时,该应用的feature类型的该字"installationFree": false,//当前模块的profile资源,用于列举每个页面信息.其实就是路由,点进去你会发现是你在此模块下配置跳转的路由信息(跟小程序配置路由一样的意思) 对应:src/main/resouces/base/profile"pages": "$profile:main_pages","abilities": [{"name": "EntryAbility","srcEntry": "./ets/entryability/EntryAbility.ts","description": "$string:EntryAbility_desc","icon": "$media:icon","label": "$string:EntryAbility_label","startWindowIcon": "$media:icon","startWindowBackground": "$color:start_window_background","exported": true,"skills": [{"entities": ["entity.system.home"],"actions": ["action.system.home"]}]}],"requestPermissions":[{"name": "ohos.permission.INTERNET","usedScene": {"when": "always"}}]}
}

在这里插入图片描述

module->pages标签

在这里插入图片描述
找到main_pages.json文件设置项目路由
在这里插入图片描述

module->abilities标签

"abilities": [{//abilities名称"name": "EntryAbility",//abilities路径"srcEntry": "./ets/entryability/EntryAbility.ts",//abilities项目描述"description": "$string:EntryAbility_desc",//abilities项目图标"icon": "$media:icon",//启动模式 三种singleton(单实例),multiton(多实例),specified(指定实例)"launchType":"singleton",//abilities项目名称"label": "$string:EntryAbility_label",//项目窗口图标"startWindowIcon": "$media:icon",//项目进入后台时的图标"startWindowBackground": "$color:start_window_background",//标识当前UIAbility组件是否可以被其他应用调用。//- true:表示可以被其他应用调用。//- false:表示不可以被其他应用调用//注意如果是启动页 就是第一个页面如果是false是无法被调起的app 会报错"exported": true,"skills": [{"entities": ["entity.system.home"],"actions": ["action.system.home"]}]}],
  • Skills
    • actions 表示调用方要执行的通用操作(如查看、分享、应用详情)。在隐式Want中,您可定义该字段,配合uri或parameters来表示对数据要执行的操作。如打开,查看该uri数据。例如,当uri为一段网址,action为ohos.want.action.viewData则表示匹配可查看该网址的Ability。在Want内声明action字段表示希望被调用方应用支持声明的操作。在被调用方应用配置文件skills字段内声明actions表示该应用支持声明操作。
    • entities 表示目标Ability的类别信息(如浏览器、视频播放器),在隐式Want中是对action的补充。在隐式Want中,开发者可定义该字段,来过滤匹配应用的类别,例如必须是浏览器。在Want内声明entities字段表示希望被调用方应用属于声明的类别。在被调用方应用配置文件skills字段内声明entites表示该应用支持的类别。
      在这里插入图片描述

module->extensionAbilities标签

ExtensionAbility组件是基于特定场景(例如服务卡片、输入法等)

{"extensionAbilities": [{"name": "TextName","srcEntry": "./test.ts","icon": "$media:icon","label" : "$string:extension_name","description": "$string:form_description","type": "form", //标识当前ExtensionAbility组件的类型,取值为:- form:卡片的ExtensionAbility。"permissions": ["ohos.abilitydemo.permission.PROVIDER"],"exported": true,"uri":"scheme://authority/path/query","skills": [{"actions": [],"entities": [],"uris": []}],"metadata": [{"name": "ohos.extension.form","resource": "$profile:form_config", }]}]
}

type 标识当前ExtensionAbility组件的类型
说明:其中service和dataShare类型,仅支持系统应用配置,三方应用配置不生效。
form:卡片的ExtensionAbility。
workScheduler:延时任务的ExtensionAbility。
inputMethod:输入法的ExtensionAbility。
service:后台运行的service组件。
accessibility:辅助能力的ExtensionAbility。
dataShare:数据共享的ExtensionAbility。
fileShare:文件共享的ExtensionAbility。
staticSubscriber:静态广播的ExtensionAbility。
wallpaper:壁纸的ExtensionAbility。
backup:数据备份的ExtensionAbility。
window:该ExtensionAbility会在启动过程中创建一个window,为开发者提供界面开发。开发者开发出来的界面将通过abilityComponent控件组合到其他应用的窗口中。
thumbnail:获取文件缩略图的ExtensionAbility,开发者可以对自定义文件类型的文件提供缩略。
preview:该ExtensionAbility会将文件解析后在一个窗口中显示,开发者可以通过将此窗口组合到其他应用窗口中。

module->requestPermissions标签

**项目需要开启网络请求授权时用到。**例如:图片请求第三方链接时,需要配置requestPermissions信息。

 "requestPermissions":[{//填写需要使用的权限名称"name": "ohos.permission.INTERNET",//可选,当申请的权限为user_grant权限时此字段必填。描述权限使用的场景由abilities和when组成。其中abilities可以配置为多个UIAbility组件,when表示调用时机。//说明:- 默认为可选,当申请的权限为user_grant权限时,abilities标签必填,when标签可选。"usedScene": {"when": "always"}}],

踩坑不易,还希望各位大佬支持一下 \textcolor{gray}{踩坑不易,还希望各位大佬支持一下} 踩坑不易,还希望各位大佬支持一下

📃 个人主页: \textcolor{green}{个人主页:} 个人主页: 沉默小管

📃 个人网站: \textcolor{green}{个人网站:} 个人网站: 沉默小管

📃 个人导航网站: \textcolor{green}{个人导航网站:} 个人导航网站: 沉默小管导航网

📃 我的开源项目: \textcolor{green}{我的开源项目:} 我的开源项目: vueCms.cn

🔥 技术交流 Q Q 群: 837051545 \textcolor{green}{技术交流QQ群:837051545} 技术交流QQ群:837051545

👍 点赞,你的认可是我创作的动力! \textcolor{green}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向! \textcolor{green}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富! \textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!

如果有不懂可以留言,我看到了应该会回复
如有错误,请多多指教

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

docker 常用指令(启动,关闭,查看运行状态)

文章目录 docker 常用指令启动 docker关闭 docker查看 docker的运行状态 docker 常用指令 启动 docker systemctl start docker关闭 docker systemctl stop docker查看 docker的运行状态 systemctl status docker如下图所示: 表示docker正在运行中

Stable Diffusion 绘画入门教程(webui)-ControlNet(NormalMap)

法线贴图NormalMap可以把参考图的光影分布关系,法线贴图可以实现在不改变物体真实结构的基础上也能反映光影分布的效果,被广泛应用在 CG 动画渲染和游戏制作等领域 简单来讲可以参考原图的光影明暗关系并还原原图姿态,如下图:左边为原图&…

opencv判断二值的情况

目的 先说说理论: 什么叫图像的二值化?二值化就是让图像的像素点矩阵中的每个像素点的灰度值为0(黑色)或者255(白色),也就是让整个图像呈现只有黑和白的效果。在灰度化的图像中灰度值的范围为0…

IDEA的LeetCode插件的设置

一、下载插件 选择点击File->Setting->Plugins:搜索LeetCode 二、打开这个插件 选择View —>Tool Windows—>leetcode 三、登陆自己的账号 关于下面几个参数的定义,官方给的是: Custom code template: 开启使用自定义模板&…

小程序应用、页面、组件生命周期

引言 微信小程序生命周期是指在小程序运行过程中,不同阶段触发的一系列事件和函数。这一概念对于理解小程序的整体架构和开发流程非常重要。本文将介绍小程序生命周期的概念以及在不同阶段触发的关键事件,帮助开发者更好地理解和利用小程序的生命周期。 …

vscode输入英文时字体之间的间隔突然变大,似中文

vscode输入英文时字体之间的间隔突然变大,似中文 主要原因: 是由于输入法变成全角模式了。原因可能是不小心按了 shift空格键快捷键造成的。 正常情况,全角就是字母和数字等与汉字占等宽位置的字。 半角就是ASCII方式的字符,在没…

架构设计实践:熟悉架构设计方法论,并动手绘制架构设计图

文章目录 一、架构设计要素1、架构设计目标2、架构设计模式(1)分而治之(2)迭代式设计 3、架构设计的输入(1)概览(2)功能需求 - WH分析法(3)质量 - “怎么”分…

blender bvh显示关节名称

导入bvh,菜单选择布局,右边出现属性窗口, 在下图红色框依次点击选中,就可以查看bvh关节名称了。

机器学习YOLO操作全流程​​编

YOLO介绍 Ultralytics YOLOv8,是最新的著名实时目标检测和图像分割模型。它基于深度学习和计算机视觉的最新进展,提供了无与伦比的速度和精度性能。由于其精简的设计,适用于各种应用,并且可以轻松适配不同的硬件平台,从边缘设备到云端API。 探索 YOLOv8 文档,这是一个全…

Docker基础(一)

文章目录 1. 基础概念2. 安装docker3. docker常用命令3.1 帮助命令3.2 镜像命令3.3 容器命令3.4 其他命令 4. 使用案例 1. 基础概念 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官…

计算机网络——IPV4数字报

1. IPv4数据报的结构 本结构遵循的是RFC 791规范,介绍了一个IPv4数据包头部的不同字段。 1.1 IPv4头部 a. 版本(Version):指明了IP协议的版本,IPv4表示为4。 b. 头部长度(IHL, Internet Header Length&…

sql-labs第46关 order by盲注

sql-labs第46关 order by盲注 来到了第46关进入关卡发现让我们输入的参数为sort,我们输入?sort1尝试: 输入?sort2,3,发现表格按照顺序进行排列输出,明显是使用了order by相关的函数。 我们将参数变成1进行尝试,就会报错&…

flutter简单的MethodChannel通道Demo(引入调用小红书sdk)

flutter端创建MethodChannel类 import package:flutter/services.dart;//MethodChannel const methodChannel const MethodChannel(com.flutter.demo.MethodChannel);class FlutterMethodChannel {/** MethodChannel flutter给原生发信息* 在方法通道上调用方法invokeMethod*…

【服务器数据恢复】ext3文件系统下硬盘坏道掉线的数据恢复案例

服务器数据恢复环境: 一台IBM某型号服务器上有16块FC硬盘组建RAID阵列。上层linux操作系统,ext3文件系统,部署有oracle数据库。 服务器故障&检测: 服务器上跑的业务突然崩溃,管理员发现服务器上有2块磁盘的指示灯…

海智算法训练营第三十三天 | 第八章 贪心算法 part03 | ● 1005.K次取反后最大化的数组和 ● 134. 加油站● 135. 分发糖果

今日任务: 1.k次取反后最大化数组和 2.贪心解决加油站问题 3.左右边界分别处理——分发糖果 1.k次取反后最大化数组和 力扣题目链接 这道题比较简单就不多说了。 class Solution {public int largestSumAfterKNegations(int[] nums, int k) {Arrays.sort(nums);f…

AS-V1000 视频监控平台产品介绍:客户端功能介绍(五)

目 录 一、引言 1.1 AS-V1000视频监控平台介绍 1.2平台服务器配置说明 二、软件概述 2.1 客户端软件用途 2.2 客户端功能 三、客户端功能说明 3.1系统配置 3.2 服务器时间校正 3.3退出 一、引言 1.1 AS-V1000视频监控平台介绍 AS-V1000视频监控平台…

【Python数据分析系列】多个dataframe写入同一个excel文件(案例源码)

一、引言 将多个DataFrame写入同一个excel文件中,每个DataFrame作为一个sheet,可以使用pandas库中的ExcelWriter类。这个类可以在一个Excel文件中创建多个sheet,并将不同的数据写入这些sheet中。本文演示如何将多个DataFrame写入同一个CSV文件…

用C#开发Excel插件的强大开源工具

推荐一个开源项目,方便我们使用C#为Excel开发插件。 01 项目简介 Excel-DNA是一个.Net开源项目,为开发者提供了一种便利的方法,可以将.Net代码与Excel集成,能够轻松的为Excel创建自定义函数、图表、表单等,一方面不仅…

<网络安全>《55 概念讲解<第二课 MAC地址>》

1 MAC地址是什么? MAC地址(Media Access Control Address)是一种标识网络设备的唯一地址,也被称为物理地址或硬件地址。它由网络设备制造商在生产过程中写入网卡的EPROM(一种可擦写的闪存芯片)。 IP地址和…

状态机-----

1.原理 同步的意思就是状态的跳转都是在时钟的作用下跳转的,有限是指状态机中状态的个数是有限的。两种状态机的共同点都是状态的跳转只和输入有关,区别就是如果最后的输出只和当前状态有关而与输入无关,则是moore型状态机。如果最后的输出不…