鸿蒙HarmonyOS应用开发——组件级配置

在开发应用时,需要配置应用的一些标签,例如应用的包名、图标等标识特征的属性。本文描述了在开发应用需要配置的一些关键标签。

应用包名配置

应用需要在工程的AppScope目录下的 app.json5配置文件 中配置bundleName标签,该标签用于标识应用的唯一性。推荐采用反域名形式命名(如com.example.demo,建议第一级为域名后缀com,第二级为厂商/个人名,第三级为应用名,也可以多级)。

图标和标签配置

图标和标签通常一起配置,可以分为应用图标、应用标签和入口图标、入口标签,分别对应 app.json5配置文件 和module.json5配置文件 中的icon和label标签。

应用图标和标签通常用于标识整个应用,可以在标识应用的界面使用该类型图标和标签。比如: * 设置应用中,需要展示应用列表时 * 在隐私管理中,需要展示应用申请的权限时 * 在状态栏显示通知消息时

入口图标和标签是应用安装完成后可以在设备桌面上显示出来的,如下图所示。入口图标是以 UIAbility 为粒度,支持同一个应用存在多个入口图标和入口标签,点击后进入对应的UIAbility界面。比如: * 桌面上需要显示图标时 * 最近任务列表中显示时

图1 应用图标和标签

应用图标和标签配置

应用图标需要在工程的AppScope目录下的 app.json5配置文件 中配置icon标签。应用图标需配置为图片的资源索引,配置完成后,该图片即为应用的图标。

应用标签需要在工程的AppScope模块下的 app.json5配置文件 中配置label标签。标识应用对用户显示的名称,需要配置为字符串资源的索引。

{"app": {"icon": "$media:app_icon","label": "$string:app_name"...}
}

入口图标和标签配置

入口图标和标签配置方式

Stage模型支持对组件配置入口图标和入口标签。入口图标和入口标签会显示在桌面上。

入口图标需要在 module.json5配置文件 中配置,在abilities标签下面有icon标签。例如希望在桌面上显示该UIAbility的图标,则需要在skills标签下面的entities中添加”entity.system.home”、actions中添加”ohos.want.action.home”。同一个应用有多个UIAbility配置上述字段时,桌面上会显示出多个图标,分别对应各自的UIAbility。

{"module": {..."abilities": [{"icon": "$media:icon","label": "$string:EntryAbility_label","skills": [{"entities": ["entity.system.home"],"actions": ["ohos.want.action.home"]}],}]}
}
入口图标和标签管控规则

OpenHarmony系统对无图标应用严格管控,防止一些恶意应用故意配置无入口图标,导致用户找不到软件所在的位置,无法操作卸载应用,在一定程度上保证用户终端设备的安全。

如果应用确需隐藏入口图标,需要配置AllowAppDesktopIconHide应用特权,具体配置方式参考 应用特权配置指南 。详细的入口图标及入口标签的显示规则如下。

  • HAP中包含UIAbility

    • 在module.json5配置文件的abilities标签中设置了入口图标
    • 该应用没有隐藏图标的特权
      • 系统将使用该UIAbility配置的icon作为入口图标,并显示在桌面上。用户点击该图标,页面跳转到该UIAbility首页。
      • 系统将使用该UIAbility配置的label作为入口标签,并显示在桌面上,如果没有配置label,系统将使用app.json5中的label作为入口标签,并显示在桌面上。
    • 该应用具有隐藏图标的特权
      • 桌面应用查询时不返回应用信息,不会在桌面上显示对应的入口图标和标签。
    • 在module.json5配置文件的abilities标签中未设置入口图标
    • 该应用没有隐藏图标的特权
      • 系统将使用app.json5中的icon作为入口图标,并显示在桌面上。用户点击该图标,页面跳转到应用管理中对应的应用详情页面,如下图所示。
      • 系统将使用app.json5中的label作为入口标签,并显示在桌面上。
    • 该应用具有隐藏图标的特权
      • 桌面应用查询时不返回应用信息,不会在桌面上显示对应的入口图标和标签。
  • HAP中不包含UIAbility

    • 该应用没有隐藏图标的特权
    • 系统将使用app.json5中的icon作为入口图标,并显示在桌面上。用户点击该图标,页面跳转到应用管理中对应的应用详情页面,如下图所示。
    • 系统将使用app.json5中的label作为入口标签,并显示在桌面上。
    • 该应用具有隐藏图标的特权
    • 桌面应用查询时不返回应用信息,不会在桌面上显示对应的入口图标和标签。

图2 应用的详情页示意图

应用版本声明配置

应用版本声明需要在工程的AppScope目录下的 app.json5配置文件 中配置versionCode标签和versionName标签。versionCode用于标识应用的版本号,该标签值为32位非负整数。此数字仅用于确定某个版本是否比另一个版本更新,数值越大表示版本越高。versionName标签标识版本号的文字描述。

Module支持的设备类型配置

Module支持的设备类型需要在 module.json5配置文件 中配置 deviceTypes标签 ,如果deviceTypes标签中添加了某种设备,则表明当前的Module支持在该设备上运行。

Module权限配置

Module访问系统或其他应用受保护部分所需的权限信息需要在 module.json5配置文件 中配置requestPermissions标签。该标签用于声明需要申请权限的名称、申请权限的原因以及权限使用的场景。

为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙开发学习手册》:

如何快速入门:https://qr21.cn/FV7h05

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. ……

开发基础知识:https://qr21.cn/FV7h05

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ……

基于ArkTS 开发:https://qr21.cn/FV7h05

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ……

鸿蒙开发面试真题(含参考答案):https://qr18.cn/F781PH

鸿蒙开发面试大盘集篇(共计319页):https://qr18.cn/F781PH

1.项目开发必备面试题
2.性能优化方向
3.架构方向
4.鸿蒙开发系统底层方向
5.鸿蒙音视频开发方向
6.鸿蒙车载开发方向
7.鸿蒙南向开发方向

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

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

相关文章

班级综合测评管理系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW,文末可获取本项目的所有资料。 推荐阅读100套最新项目持续更新中..... 2024年计算机毕业论文(设计)学生选题参考合集推荐收藏(包含Springboot、jsp、ssmvue等技术项目合集) 目录 1. …

Vitest 单元测试方案

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

鸿蒙OS开发案例:【API9】遍历沙漏文件夹并输入文件的大小

1.获取打印文件大小 /*** 获取打印文件大小*/static getFileSize(byteNum: number) {if (byteNum < 0) {return "shouldnt be less than zero!";} else if (byteNum < 1024) {return ${byteNum.toFixed(3)}B;} else if (byteNum < 1048576) {return (byteNu…

Mysql各种日志管理

文章目录 事务日志事务日志的记录过程事务日志类型事务日志的相关变量 错误日志二进制日志功能作用文件的构成日志格式查看日志删除日志 通用日志慢查询日志 Mysql日志记录着数据库在运行过程中的各种操作&#xff0c;帮助管理员定位查找问题。 事务日志 事务日志(Transaction…

(原型与原型链)前端八股文修炼Day5

一 原型链的理解 原型链定义&#xff1a; 原型链是 JavaScript 中实现对象继承的关键机制之一&#xff0c;它是一种对象之间的关系&#xff0c;通过这种关系&#xff0c;一个对象可以继承另一个对象的属性和方法。 原型链的组成&#xff1a; 每个对象都有一个指向另一个对象的…

Vue3尚硅谷张天禹笔记

1. Vue3简介 2020年9月18日&#xff0c;Vue.js发布版3.0版本&#xff0c;代号&#xff1a;One Piece&#xff08;n 经历了&#xff1a;4800次提交、40个RFC、600次PR、300贡献者 官方发版地址&#xff1a;Release v3.0.0 One Piece vuejs/core 截止2023年10月&#xff0c;最…

每日一题 --- 删除链表的倒数第 N 个结点[力扣][Go]

删除链表的倒数第 N 个结点 题目&#xff1a;19. 删除链表的倒数第 N 个结点 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5]示例 2&#x…

zotero+word优化管理参考文献

写论文&#xff0c;整理参考文献&#xff0c;管理参考文献很麻烦&#xff0c;参考文献格式罗列很麻烦&#xff0c;论文需要修改时&#xff0c;重新调整参考文献顺序很麻烦。 zoteroword可以很好的帮助解决这个问题。 Step1 zotero软件安装 默认word你已经安装好了 step2 安…

linux下的打包/解包命令(tar,zip/unzip)

目录 打包/解包 作用 zip -r选项 unzip -d选项 如果不使用递归压缩 -l / -v选项 tar 介绍 选项 示例 打包/解包 作用 使多个文件变成一个文件,不易造成数据缺失使下载时间变短 zip 将目录或文件压缩成zip格式 -r选项 递归式压缩某目录及其所有子目录中的文件 如果不…

有效三角形的个数【双指针】

1.优化版暴力求解 如果能构成三⻆形&#xff0c;需要满⾜任意两边之和要⼤于第三边。实际上只需让较⼩的两条边之和⼤于第三边即可。将原数组排序&#xff0c;从⼩到⼤枚举三元组&#xff0c;这样三层 for 循环枚举出的三元组只需判断较⼩的两条边之和是否⼤于第三边。 class…

Qt开发(2)——在已有VS项目中配置Qt

在之前的Qt开发学习中&#xff0c;基本都是在Qt Creator中创建一个Qt项目&#xff0c;或者即便是在VS中也是直接新建一个Qt项目。但很少有记录如何在已有的C项目中添加Qt,这就好比我有个项目已经开发完了&#xff0c;现在又说加个Qt界面的功能。这篇文章就是记录如何在已有项目…

那如何解决信创设配问题呢?怎么成为信创产品?

信创也好、国产化也好都是国家部署的重点工作&#xff0c;所有涉及到的相关行业和部门都必须坚持执行和并且要执行好的重点任务&#xff0c;这一点无容置疑。在信息化层面&#xff0c;随着我国基础水平&#xff08;芯片、OS、DB、中间件&#xff09;的提升&#xff0c;信创工作…

臻奶惠:无人售货奶柜,让纯净营养触手可及

臻奶惠&#xff1a;无人售货奶柜&#xff0c;让纯净营养触手可及 在这个快速发展的时代&#xff0c;每一个创新都在为生活带来便捷和品质的提升。臻奶惠深谙此道&#xff0c;特推出无人售货奶柜&#xff0c;将健康营养与现代科技完美融合&#xff0c;为您和家人提供24小时不间…

如何让笔记本电脑发挥120%的性能?原来还有这种小技巧

前言 现在的笔记本电脑性能真的是越来越好了&#xff01;但笔记本的CPU终究受到功耗的限制&#xff0c;与同代的台式机CPU性能相差不是一点半点的。 小白在之前很长一段时间也是使用着Windows系统的笔记本&#xff0c;也见过不下百款笔记本。 笔记本为了轻便&#xff0c;通常…

逐步学习Go-并发通道chan(channel)

概述 Go的Routines并发模型是基于CSP&#xff0c;如果你看过七周七并发&#xff0c;那么你应该了解。 什么是CSP&#xff1f; "Communicating Sequential Processes"&#xff08;CSP&#xff09;这个词组的含义来自其英文直译以及在计算机科学中的使用环境。 CSP…

SpringBoot整合Swagger-UI实现在线API文档

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉🍎个人主页:Leo的博客 💞当前专栏: 循序渐进学SpringBoot ✨特色专栏: MySQL学习 🥭本文内容:SpringBoot整合Swagger-UI实现在线API文档 📚个人知识库: Leo知识库,欢迎大…

YOLOv9改进策略:卷积魔改 | DCNv2升级版本,助力检测

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文改进内容&#xff1a;在DCN的基础上&#xff0c;增加了2个创新点&#xff0c;分别是调制模块和使用多个调制后的DCN模块&#xff0c;从形成了DCN的升级版本——DCNv2 &#x1f4a1;&#x1f4a1;&#x1f4a1;如何使用&#xff1a…

红岩思维导图的制作软件,分享4款热门的!

红岩思维导图的制作软件&#xff0c;分享4款热门的&#xff01; 在当今信息爆炸的时代&#xff0c;思维导图作为一种有效的知识整理和思维拓展工具&#xff0c;受到了广大用户的青睐。红岩思维导图以其独特的风格和实用性&#xff0c;成为了许多人学习和工作中的得力助手。那么…

【SpringSecurity】基础入门

目录 权限管理什么是权限管理认证授权权限管理解决方案Shiro开发者自定义Spring Security Spring Security特性Spring、Spring Boot 和 Spring Security 三者的关系整体架构1.认证AuthenticationManagerAuthenticationSecurityContextHolder 2.授权AccessDecisionManagerAccess…

作为数据分析师,如何能把AI工具和数据分析工作更好的结合?

在当今信息爆炸的时代&#xff0c;数据已经成为企业、研究机构乃至个人决策的重要依据。然而&#xff0c;如何高效地处理、分析和解读这些数据&#xff0c;从而提炼出有价值的信息&#xff0c;却成为了一个亟待解决的问题。 幸运的是&#xff0c;随着人工智能技术的飞速发展&a…