Android视角看鸿蒙第八课(module.json5中的各字段含义之abilities)下

Android视角看鸿蒙第八课(module.json5中的各字段含义之abilities)下

导读

上篇文章开始学习abilities下的各字段含义,因为篇幅原因只学习了name、srcEntry、description、icon和label字段的含义和用法,
这篇文章继续学习和了解其他字段。

startWindowIcon&startWindowBackground

官方文档

在这里插入图片描述

字段描述

在这里插入图片描述
Indicates the icon of the startup page. The value is the index to the resource file.

思考

标识当前UIAbility组件启动页面图标资源文件的索引。
这是官方文档的描述,不太好理解。没有理解具体用在哪里。
取值示例:$media:icon。
官方的取值示例,是个icon,也没有特别说明允许那些类型,不知道gif或者视频是否支持。

尝试

用在哪里

目前怀疑是桌面启动动画中使用的,验证一下是不是。
在这里插入图片描述
现在我们配置的值是默认的,图片长下面的样子
在这里插入图片描述
icon是注释状态,使用app.json5中的icon,长下面的样子
在这里插入图片描述
为了更好的看出效果,先把EntryAbility中的loadpage给注释掉
在这里插入图片描述
运行下,开个录制,稍后可以逐帧分析。

SVID_20240320_095353_1

结果证明没有任何关系。

遇到点困难,换个思路,先看看startWindowBackground的变化,借鉴一下。
把startWindowBackground的资源索引的值改成绿色
在这里插入图片描述
运行。
依然没有任何改变。
绝了。
看了看其他同学对这个字段的描述
在这里插入图片描述
上个链接华为论坛对于startWindowIcon的描述
资料比较难找,也算是个参考。

可能我的测试项目太小了,所以看不出效果。
写个死循环,看看
在这里插入图片描述
并不行
在这里插入图片描述
都卡崩了,也没出来。

结论

疑似和splashActivity的theme一致,但是看不到效果,可能华为优化的太好了吧。

exported

官方文档

在这里插入图片描述

字段描述

在这里插入图片描述
Specifies whether the ability can be called by other applications.The “true” indicates the ability can be called by other applications.The “false” indicates the ability cannot be called by other applications.This tag is optional. The default value is false.

思考

Android的同学应该还是熟悉的,就是说明这个ability可不可以被外部调用,一般来说是不需要的,有一些工具app可能会需要,比如支付宝,微信分享,支付等。

尝试

entryAbility必须设置为true吗

换句话说app启动器算其他应用吗?
在这里插入图片描述
注释掉,按照文档缺省时为false。
在这里插入图片描述
安装成功了,但是无法自动启动。
点击桌面则可以启动。
这个不是很好理解,为了确认点击桌面启动的是修改过exported的包,修改一下page的文字,再运行下
在这里插入图片描述
在这里插入图片描述

结论

当entryAbility的exported=false时(或缺省时,缺省即为false),hdc shell aa start -a EntryAbility -b com.example.myapplication启动失败,但点击桌面图标可以正常启动。
即桌面启动器不在其他应用的范畴内,所有这个值对桌面启动器无效,对hdc命令有效。

skills

官方文档

在这里插入图片描述

字段描述

在这里插入图片描述

思考

看样子和manifest中activity配置的intent-filter中的action,category之类的挺像的。
官方文档中明确说明对于Entry类型的HAP,应用可以配置多个具有入口能力的skills标签(即配置了ohos.want.action.home和entity.system.home)
即配置了ohos.want.action.home和entity.system.home的ability就是程序的入口。

尝试

试试多入口

把second也配置为入口
在这里插入图片描述
运行
在这里插入图片描述
桌面上出现了两个相同的图标,可以分别打开两个不同的ability。
(图标相同是因为两个ability都没有配置label和icon,都使用了app.json5中配置的label和icon)

把library(feature module)中的Ability配置为入口

文档描述对于Feature类型的HAP,只有应用可以配置具有入口能力的skills标签,服务不允许配置。
这里的服务先忽略,应该是指元服务,就是免安装的那个东东。

把library中的LibraryAbility也配置为入口
在这里插入图片描述
运行。
没有出现这个桌面图标
_-

所以我们理解错了
对于Feature类型的HAP,只有应用可以配置具有入口能力的skills标签,服务不允许配置。
这里的服务指的时Feature类型Mudule。

结论

配置了ohos.want.action.home和entity.system.home的ability就是程序的入口,可以多入口。但是只有entry类型的module中配置生效,feature类型的module中配置无效。

skils扩展

官方文档中want的介绍,及常见的entities和actions

结语

到现在为止已经有8篇文章了,学习桌面图标的定义,程序入口的定义等等,也对鸿蒙工程的配置文件有了一定的了解。下篇文章开始学习UI相关了。
感谢阅读!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二叉树|106.从中序与后序遍历序列构造二叉树

力扣题目链接 class Solution { private:TreeNode* traversal (vector<int>& inorder, vector<int>& postorder) {if (postorder.size() 0) return NULL;// 后序遍历数组最后一个元素&#xff0c;就是当前的中间节点int rootValue postorder[postorder.…

二分查找法总结

目录 1、思路讲解&#xff08;LC704&#xff09;2、代码思路讲解&#xff08;循环不变量&#xff09;&#xff08;1&#xff09; 左闭右闭&#xff08;2&#xff09;左闭右开&#xff08;3&#xff09;总结&#xff1a;左开右闭和左闭右开&#xff08;4&#xff09;复杂度分析 …

TCP和UDP 传输层协议的区别

TCP协议 当一台计算机想要与另一台计算机通讯时&#xff0c;两台计算机之间的通信需要畅通且可靠&#xff0c;这样才能保证正确收发数据。例如&#xff0c;当你想查看网页或查看电子邮件时&#xff0c;希望完整且按顺序查看网页&#xff0c;而不丢失任何内容。当你下载文件时&…

Docker学习笔记 - 基本概念

一. 什么是“容器”&#xff08;container&#xff09;和“镜像”&#xff08;Image&#xff09; 所谓“容器”可以理解为一个模拟操作系统的虚拟层&#xff0c;大部分是基于Linux的&#xff0c;应用程序及其配置信息&#xff0c;依赖库可以打包成一个Image独立运行在这个虚拟…

nvidia显卡如何安装cuda驱动

目录 查看显卡对应的cuda版本下载与你显卡匹配的CUDA Toolkit 查看显卡对应的cuda版本 按 微软 R 键&#xff0c;输入cmd 然后输入 nvidia-smi &#xff0c;回车显示下面信息&#xff1a; 看到 CUDA Version 为 12.2 下载与你显卡匹配的CUDA Toolkit 打开网页&#xff1a…

【竞技宝】DOTA2:梦幻联赛预spirit惨遭淹死 LGD不敌KEV

北京时间2024年3月23日,近期各大赛区的一线战队参加的比赛暂时告一段落,目前关注度最高的比赛是正在进行的梦幻联赛S23预选赛,本以为各大战队能够在实力差距明显的预选赛中轻松突围,没想到本次预选赛目前为止却是冷门频出。 近日,梦幻联赛S23的东欧区预选赛已经全部结束,最终NA…

C语言----动态内存

学到这里了&#xff0c;大家应该对C语言的了解跟深一层了吧。我们C语言写代码不能只局限于直接写代码。我们要了解C语言的内存分布&#xff0c;我们都知道C语言的内存是有堆区&#xff0c;栈区&#xff0c;静态区的。然后栈区是我们平常创建临时变量存储的地方&#xff0c;静态…

3.23项目:聊天室

1、 基于UDP的网络聊天室 项目需求&#xff1a; 如果有用户登录&#xff0c;其他用户可以收到这个人的登录信息如果有人发送信息&#xff0c;其他用户可以收到这个人的群聊信息如果有人下线&#xff0c;其他用户可以收到这个人的下线信息服务器可以发送系统信息 服务器 #inc…

四年蓄势,TikTok决定硬刚

在X平台&#xff08;原推特&#xff09;上线的一则视频里&#xff0c;周受资看起来又焦急&#xff0c;又强硬。他的眉毛扭到了一起&#xff0c;完全不像去年那个在美国国会听证会上&#xff0c;接受了5小时高压问询&#xff0c;仍风度翩翩的跨国公司CEO。 “过去几年来&#x…

js数据流详细讲解

文章目录 单向数据流单向数据流示例: 双向数据流双向数据流示例: 延伸和扩展状态管理Redux 示例&#xff1a; 异步数据流异步操作示例&#xff08;使用 async/await&#xff09;&#xff1a; 数据转换和处理数据处理示例&#xff08;使用 lodash&#xff09;&#xff1a; 实时数…

解决大型多模态模型的幻觉问题,新方法AITuning助力AI更可靠

引言&#xff1a;多模态对话幻觉的挑战 在人工智能领域&#xff0c;开发能够通过视觉和语言等多种渠道与人类互动的通用助手是一个重要问题。受到大型语言模型&#xff08;LLMs&#xff09;如ChatGPT的显著成功的启发&#xff0c;研究社区对开发能够支持视觉-语言指令的多模态助…

力扣热门算法题 75. 颜色分类,76. 最小覆盖子串,77. 组合

75. 颜色分类&#xff0c;76. 最小覆盖子串&#xff0c;77. 组合&#xff0c;每题做详细思路梳理&#xff0c;配套Python&Java双语代码&#xff0c; 2024.03.21 可通过leetcode所有测试用例。 目录 75. 颜色分类 解题思路 完整代码 Python Java 76. 最小覆盖子串 解…

六.排序nb三人组(快速排序)

目录 17-快速排序原理介绍 思路: 18-快速排序代码实现 19-快速排序代码实现2 缺点: 递归的限度: 17-快速排序原理介绍 思路: --先找一个变量把 5(第一个数) 存起来, (两个箭头分别是left , right) --左边有一个空位, 发现左边的位置是给比5小的值准备的. --找比5小的值…

校招应聘流程讲解

在整个应聘流程中&#xff0c;记得保持积极的态度、认真准备面试&#xff0c;同时也要对自己的能力和经验有清晰的认识&#xff0c;这样才能在竞争激烈的校园招聘中脱颖而出&#xff0c;成功获得心仪的工作机会. 1. 校招资源获取 想要参加校招&#xff0c;首先需要获取校招资…

ROS2从入门到精通0-3:VSCode 搭建 ROS2 工程环境

目录 0 专栏介绍1 Ubuntu下安装VSCode1.1 基本安装1.2 将VSCode添加到侧边栏 2 VSCode集成相关插件3 VSCode运行ROS2环境步骤3.1 安装编译依赖项3.2 创建工作空间和源码空间3.3 启动VSCode与配置 4 测试工程环境4.1 C版本4.2 Python版本 0 专栏介绍 本专栏旨在通过对ROS2的系统…

每日一题 --- 977. 有序数组的平方[力扣][Go]

今天这一题和昨天的知识点是一样的&#xff0c;就是双指针法。 题目&#xff1a; 给你一个按 非递减顺序 排序的整数数组 nums&#xff0c;返回 每个数字的平方 组成的新数组&#xff0c;要求也按 非递减顺序 排序。 示例 1&#xff1a; 输入&#xff1a;nums [-4,-1,0,3,1…

Java中调用由C/C++实现的本地库(JNI本地程序调用)

文章目录 背景介绍什么是JNI&#xff1f;什么是本地库&#xff1f;开发Java使用JNI本地库步骤 编写Java类实现JNI本地调用windows系统下编译动态链接库创建Java项目&#xff08;demo&#xff09;第一步&#xff1a;编写带有native的Java类第二步&#xff1a;javac生成NativeDem…

深度学习_微调_7

目标 微调的原理利用微调模型来完成图像的分类任务 微调的原理 微调&#xff08;Fine-tuning&#xff09;是一种在深度学习中广泛应用的技术&#xff0c;特别是在预训练模型&#xff08;Pretrained-Models&#xff09;的基础上进行定制化训练的过程。微调的基本原理和步骤如下…

CRM软件推荐2024:五款顶级产品解析,助您找到最佳选项!

一天之计在于晨&#xff0c;一年之计在于春。 2024年&#xff0c;民营经济发展继续壮大&#xff0c;这对于各行各业而言都是一种机遇挑战。企业想要规范化客户管理&#xff0c;实现销售增长&#xff0c;CRM软件仍然是一个不错的选择。在数字化时代&#xff0c;企业数字化转型已…

预防颈椎病,从职场健康做起

随着现代社会工作方式的转变&#xff0c;职场人士长时间伏案工作&#xff0c;颈椎病的发病率逐渐上升。本文将介绍一些实用的预防颈椎病的方法&#xff0c;帮助职场人士保持健康&#xff0c;提高工作效率。 一、了解颈椎病 颈椎病是指颈椎间盘退行性变及其继发性椎间关节病理性…