HarmonyOS Stage模型 应用配置文件讲解

好,上文 HarmonyOS Stage模型基本概念讲解 中,我们简单讲解了HarmonyOS 中 Stage模型的基本概念

那么 我们继续学习Stage模型的相关知识
上文之后 我们肯定对它的概念和基本结构 有了一个了解
那么 我们就来看一下 基于Stage模型 它里面一些基本的配置文件

首先 Stage 模型的配置文件 分为两类
第一类 属于真的整个应用的全局配置文件
就放在 我们如下图的这个 app.json5这里
在这里插入图片描述
第二类配置文件,就是在整个应用中的每一个模块里
我们每个模块里面都会有一个 module.json5
这就是 当前这个模块下的配置文件
在这里插入图片描述
然后 我们回到开发工具

首先 我们先打开这个 app.json5
在这里插入图片描述
这边 我们来说几个 基本的配置

bundleName
我记得之前我们将概念的文章好像说过,它其实就是个应用的唯一标识
也就是说,我们以后开发的所有应用 它都会有自己的唯一bundleName 这个属性的内容是不能和别人重复的
它的命名规范是一个 域名倒至的方式 就像我们这里这个 com.example.sediment
学习过java之类语言的可能会有点感觉,看着比较像一个包路径的名字 很多人也就叫它包名、
但它肯定不是一个包哦 它就是我们这应用的唯一标识。

其次 比较重要的应该就是 versionCode 和 versionName
version顾名思义 就是版本嘛。
只是
versionCode 是数字格式的版本
versionName 是一个版本号形式的版本
在这里插入图片描述
icon 顾名思义 就是我们应用的一个图标
label 则是我们应用的一个描述字符

我们 $media:app_icon
因为我们项目中 会有很多个模块
而这个是全局的配置 文件 指向的就是我们全局的 media 目录下的 app icon
在这里插入图片描述
这么一个图片
在这里插入图片描述
然后 我们这里 因为项目模块 暂时只有一个 entry
在这里插入图片描述
我们看到下面的 module.json5
在这里插入图片描述
这个配置的内容 相对就复杂很多了
我们还是挑重要的 讲一讲
requestPermissions 这个我们之前讲过 就是申请网络图片权限的
在这里插入图片描述
然后是 module 下的 name和type

name 就没什么好说的 就是这个模块的名称
type 模块的类型 上文 我们也说过 模块分为两种类型
Ability Module的能力模块
Library Module依赖工具模块

entry 属于 Ability Module 能力模块的类型 是入口模块的意思
Ability Module 还有一种 feature 就是功能模块

Library Module的模块 要写 shared
在这里插入图片描述
description 是当前模块的一个描述
它读的 我们下图指向的这个 string.json
在这里插入图片描述
mainElement 这个 可以理解为当前这个模块的入口 我们知道 将来每个模块编译后都是一个HAP模块
它在独立运行时 它会先创建一个应用的舞台 mainElement 就是这个入口的名字

这就对应我们这个程序的入口
在这里插入图片描述
deviceTypes 这个是设备的类型
我们一个项目 或者是 一个应用下 它可以有多个模块 每个模块将来就会被打包成 一个HAP文件
将来 我们就可以给不同的模块设置不同的设备类型
比如 我们 A模块 是给电脑用的 而 B模块是给手机用的

那么将来 A B两个模块的类型就不一样了

deliveryWithInstall 这个也比较重要
在这里插入图片描述
因为我们当前这个是个 entry 模块 应用的入口模块 是必须要安装的
但是 如果是个 feature 甚至 feature 模块

deliveryWithInstall 为true 则告诉程序 我这个模块 是必须安装的 你想用我的APP 你就必须安装这个模块
deliveryWithInstall 为false 则表示这个模块是可以不安装的

pages 是这个模块下包含的所有的page界面 它所有的 界面写的是 $profile
同样在这个模块下去找
就是 我们下图箭头所指向的这个模块
在这里插入图片描述
这里面就是我们定义的所有的模块了

最后就是我们的 abilities
它是个 对象数组 就是可以有多个配置的
在这里插入图片描述
name 自然就是它的名字
srcEntry 就是指你这个 abilities的源码在哪里
description 是这个abilities的描述 同样 读的也是 $string 当前模块的 string文件
icon 指向当前模块的 图标

然后 我们如下图目录 找到 这个 string.json
然后 点击如下图指向处 打开这个编辑器在这里插入图片描述
在这里改东西 就会直观很多
在这里插入图片描述
startWindowIcon 和 startWindowBackground 是整个模块启动时 展现的图标和背景颜色
在这里插入图片描述
skills 则是设置这个模块的一些功能
现在它这个 home 表示的是整个项目的入口的意思
在这里插入图片描述

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

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

相关文章

InnoDB基础篇(4)-数据类型在InnoDB中的选择

在MySQL数据库中,数据类型在InnoDB存储引擎中的选择是非常重要的。选择合适的数据类型可以在存储空间、性能和数据完整性方面取得优化。在本篇博客中,我们将介绍一些常见的MySQL数据类型,并讨论它们在InnoDB中的选择。 整数类型(I…

15-36V降压充电光伏MPPT充电方案

1.MPPT原理--简介 MPPT,全称为Maximum Power Point Tracking,即最大功点跟踪,它是一种通过调节电气模块的工作状态,使光伏板能够输出更多电能的电气系统能够将太阳能电池板发出的直流电有效地贮存在蓄电池中,可有效地…

C++内联函数的使用

C是一门强大而灵活的编程语言,提供了许多特性来优化代码性能。其中之一就是内联函数,它可以在编译时将函数调用的地方直接替换为函数体,从而减少函数调用的开销。在本文中,我们将深入探讨C内联函数的使用,重点介绍它的…

uniapp editor组件添加插入超链接

标题uniapp editor组件添加插入超链接 我基于官方editor组件开发了一个可添加超链接等其他功能的富文本插件 官方富文本编辑器editor组件改良扩展优化版

视频推拉流EasyDSS视频直播点播平台授权出现激活码无效并报错400是什么原因?

视频推拉流EasyDSS视频直播点播平台集视频直播、点播、转码、管理、录像、检索、时移回看等功能于一体,可提供音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务,在应用场景上,平台可以运用在互联网教育、在线课堂、游戏…

32.云原生Istio流量管理之官网Bookinfo应用实战演示

云原生专栏大纲 文章目录 流量管理基于版本的路由配置基于 Http header 的路由配置故障注入延迟故障注入异常故障注入故障注入测试 比例分配流量请求超时熔断什么是熔断创建 httpbin 服务创建访问者服务 流量管理 Istio 是服务治理的工具,Istio 的流量管理能力&am…

Django学习笔记-forms使用

1.创建forms.py文件,导入包 from django import forms from django.forms import fields from django.forms import widgets2. 创建EmployeeForm,继承forms.Form 3.创建testform.html文件 4.urls.py添加路由 5.views中导入forms 创建testform,编写代码 1).如果请求方式为GET,…

unity学习(38)——创建(create)角色脚本(panel)--EventSystem

1.在scripts文件夹下创建一个脚本CreatePlayerPanel.cs,脚本挂到panel上!给panel加个tag,叫createPanel,脚本内容如下: using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngin…

BM100 设计LRU缓存结构(java实现)

一、题目 设计LRU(最近最少使用)缓存结构,该结构在构造时确定大小,假设大小为 capacity ,操作次数是 n ,并有如下功能: Solution(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存get(key):如果关键字 key …

Qt连续存图异常现象解决

我有一个图像采集软件,开始采集后,主线程会不断地接收到图像回调,然后每接收到一张图像数据,就通知业务线程保存该图像到本地文件。 但是实际运行的时候发现,可能是由于业务线程存图的操作占用资源,会导致…

Jenkins 使用指南:从安装到自动化部署!

Jenkins 使用指南:从安装到自动化部署! Jenkins 是一个开源的持续集成和持续交付工具,用于自动化软件开发过程中的构建、测试和部署。本文将介绍 Jenkins 的配置和应用,包括如何安装 Jenkins、创建任务、配置构建触发器等。 1. …

【区块链】联盟链

区块链中的联盟链 写在最前面**FAQs** 联盟链:区块链技术的新兴力量**联盟链的定义****联盟链的技术架构**共识机制智能合约加密技术身份认证 **联盟链的特点**高效性安全性可控性隐私保护 **联盟链的应用场景****金融服务****供应链管理****身份验证****跨境支付**…

【行业交流】优积科技·国住人居与广东保利就学校、居住场景下模块化建筑技术的运用进行交流

近日,保利发展控股集团股份有限公司(以下简称“保利发展”)、 优积建筑科技发展(上海)有限公司(以下简称“优积科技”)、国住人居工程顾问有限公司(以下简称“国住人居公司”)就模块化建造体系与…

【信息系统项目管理师】--【信息技术发展】--【现代化创新发展】--【云计算】

文章目录 第二章 信息技术发展2.2 新一代信息技术及应用2.2.2 云计算1.技术基础2.关键技术3.应用和发展 第二章 信息技术发展 信息技术是在信息科学的基本原理和方法下,获取信息、处理信息、传输信息和使用信息的应用技术总称。从信息技术的发展过程来看&#xff0c…

变量长度之${#var}

1.${#var} ${#var}是用来计算变量$var的字符个数,即$var的字符串长度。对于var数组来说,${#var}表示的是数组中第一个元素的长度。 2.实例 2.1.统计字符串var的长度 样例: [rootkibana ~]# var123456789 [rootkibana ~]# echo ${#var} 9…

目标检测卷王YOLO卷出新高度:YOLOv9问世

论文摘要:如今的深度学习方法重点关注如何设计最合适的目标函数,使得模型的预测结果能够最接近真实情况。 同时,必须设计一个适当的架构,可以帮助获取足够的信息进行预测。 现有方法忽略了一个事实,即当输入数据经过逐层特征提取和空间变换时,大量信息将会丢失。 本文将深…

品牌如何从用户需求出发实现价值增长?

品牌想要实现长效发展的秘诀就在于不盲从市场,忠于消费者需求。从用户出发的品牌价值创新,往往有两种方式:一是满足用户需求,二是创造用户价值。今天媒介盒子就来和大家聊聊:如何从用户需求出发实现品牌价值增长。 一、…

C++的queue容器->基本概念、常用接口

#include<iostream> using namespace std; #include <queue> #include <string> //队列 queue class Person { public: Person(string name, int age) { this->m_Name name; this->m_Age age; } string m_Name; int…

docker镜像和容器的关系

背景 镜像和容器都是docker中非常重要的概念&#xff0c;镜像是静态的&#xff0c;而容器是动态的&#xff0c;两者的关系就类似类和实例的关系&#xff0c;本文就来分析下两者的关联 镜像和容器 我们知道镜像是存放在仓库中的静态的文件&#xff0c;而容器是运行中的进程&a…

Flink ML 的新特性解析与应用

摘要&#xff1a;本文整理自阿里巴巴算法专家赵伟波&#xff0c;在 Flink Forward Asia 2023 AI特征工程专场的分享。本篇内容主要分为以下四部分&#xff1a; Flink ML 概况在线学习的设计与应用在线推理的设计与应用特征工程算法与应用 一、Flink ML 概况 Flink ML 是 Apache…