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

news2024/12/30 1:43:15

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

应用包名配置

应用需要在工程的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.coloradmin.cn/o/1547125.html

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

相关文章

《MobileFaceNet:一种用于移动设备实时人脸验证的高效CNN》论文阅读

最近正好做到人脸识别的一点工作,在查阅资料的时候看到了这篇文章,就想花点时间来读一下。这里是自己的阅读记录,英语水平不够借助翻译软件来读的,感兴趣可以看下,也可以自行阅读原始英文论文。 摘要 我们提出了一类非…

企业级快速开发框架 nbsaas-boot 1.1.8-2024 发布了

<parent><groupId>com.nbsaas.boot</groupId><artifactId>nbsaas-boot</artifactId><version>1.1.8-2024</version> </parent> 本次更新内容 1. 重构代码生成器&#xff0c;采用类提取和字段提取两种方式&#xff0c;提取功能…

神经网络代码实现(用手写数字识别数据集实验)

目录 一、前言 二、神经网络架构 三、算法实现 1、导入包 2、实现类 3、训练函数 4、权重参数矩阵初始化 5、参数矩阵变换向量 6、向量变换权重参数矩阵 7、进行梯度下降 7.1、损失函数 7.1.1、前向传播 7.2、反向传播 8、预测函数 四、完整代码 五、手写数字识别 一、前言 …

R语言神经网路模型应用(1)

数据集heart_learning.csv与heart_test.csv是关于心脏病的数据集&#xff0c;heart_learning.csv是训练数据集&#xff0c;heart_test.csv是测试数据集。要求&#xff1a;target和target2为因变量&#xff0c;其他诸变量为自变量&#xff0c;用神经网络模型&#xff08;多层感知…

PC电脑技巧[笔记本通过网线访问设备CMW500]

笔记本局域网访问设备 现在我有一台CMW500,我要用笔记本去访问它,但是我发现没有路由器就是不能够访问,通过网线连接设备就是ping不通: 这里设置TCP/IPv4的IP地址如下,这时候就可以pin通了:

跟张良均老师学大数据人工智能——数据挖掘集训营开营

集训营特色&#xff1a; 知识点深入浅出&#xff0c;实现以学促用 以业务内容为主线&#xff0c;数据挖掘技能嵌入 多行业项目实战&#xff0c;全面提升职业素养 全程线上辅导&#xff0c;助力熟练掌握技能 惊喜优惠&#xff1a; 限时“六折”&#xff01; 师傅带练 方向…

VsCode中安装codeium 显示failed to start language server

一、在VsCode的SSH Remote插件中安装Codeium 失败&#xff1a; 1、在插件Remote Explore中的SSH安装Codeium插件后提示无法下载语言服务器&#xff0c;如下图所示 2、去Codeium的仓库中找到对应版本的语言服务器包下载&#xff0c;然后解压并拷贝到远程服务器Ubuntu中的如下目…

云手机:实现便携与安全的双赢

随着5G时代的到来&#xff0c;云手机在各大游戏、直播和新媒体营销中扮演越来越重要的角色。它不仅节约了成本&#xff0c;提高了效率&#xff0c;而且在边缘计算和云技术逐渐成熟的背景下&#xff0c;展现出了更大的发展机遇。 云手机的便携性如何&#xff1f; 云手机的便携性…

【jenkins+cmake+svn管理c++项目】创建一个项目

工作台点击"新建item",进入下图&#xff0c;选择Freestyle project,并输入项目名称&#xff0c; 点击确定之后进入项目配置页面&#xff0c;填写描述&#xff0c;然后在下边源码管理部分选择svn, 填写代码的url 上图的Credentials处填写svn的有效登录名和密码&#x…

5.1 物联网RK3399项目开发实录-Android开发之ADB使用(wulianjishu666)

物联网项目开发实例&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/11VQMhHfIL9mZhNlls4wmjw?pwd0gfa 1. ADB 使用 1.1. 前言 ADB&#xff0c;全称 Android Debug Bridge&#xff0c;是 Android 的命令行调试工具&#xff0c;可以完成多种功能&#xff0c;如跟踪系…

DP:简单多状态模型

创作不易&#xff0c;感谢三连 多状态DP表示第i天的时候可能的状态不同&#xff0c;所以我们要去区分不同的状态。 一、打家劫舍&#xff08;1&#xff09; . - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int rob(vector<int>& nums) {int n…

C++初步认识

一.开发环境 Dev-C是一个Windows环境下的一个适合于初学者使用的轻量级C/C 集成开发环境&#xff08;IDE&#xff09;&#xff0c;它是一款自由软件&#xff0c;遵守GPL许可协议分发源代码。 Dev-C 使用MingW64/TDM-GCC编译器&#xff0c;遵循C 11标准&#xff0c;同时兼容C98标…

jmeter二次开发发送java请求_保姆级教程!!!

一、引言 JMeter是Apache基金会开发的一款开源性能测试工具&#xff0c;广泛应用于软件性能测试领域。它能够模拟多线程并发用户对应用程序进行压力测试&#xff0c;以评估应用程序的性能和稳定性。然而&#xff0c;在实际使用过程中&#xff0c;用户可能会遇到需要发送Java请…

网上国网App启动鸿蒙原生应用开发,鸿蒙开发前景怎么样?

从华为宣布全面启动鸿蒙生态原生应用一来&#xff0c;各种各样的新闻就没有停过&#xff0c;如&#xff1a;阿里、京东、小红书……等大厂的加入&#xff0c;而这次他们又与一个国企大厂进行合作&#xff1a; 作为特大型国有重点骨干企业&#xff0c;国家电网承担着保障安全、经…

Python 全栈体系【四阶】(二十一)

第五章 深度学习 二、推荐系统 2. 协同过滤及实现 2.1 基于物品的协同过滤推荐技术(评分) 2.2 基于物品的协同过滤算法(Item_CF) 2.3 基于用户的协同过滤算法&#xff08;user-based collaboratIve filtering&#xff09; 2.4 基本原理 2.5 ICF 计算物品之间的相似度&#…

Set和Map数据结构

Set和Map数据结构理解 Set&#xff1a; 1、es6新的数据结构&#xff0c;类似数组&#xff0c;但成员唯一 2、实例属性&#xff1a;Set.prototype.size返回Set实例的成员总数 3、操作方法&#xff1a;add、delete、has、clear 4、遍历操作&#xff1a;forEach、keys、values、en…

求两个单链表的差集

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 但行前路&#xff0c;不负韶华&#…

搭建Hadoop HA

目录 前言 搭建前准备 搭建 前言 Hadoop是一个由Apache基金会所开发的分布式系统基础架构&#xff0c;它允许用户在不了解分布式底层细节的情况下开发分布式程序&#xff0c;充分利用集群的威力进行高速运算和存储。Hadoop主要解决大数据存储和大数据分析两大核心问题&…

机器学习(二)

线性模型: 离散转为连续的变换: 检查是否有“序”的变化&#xff0c;若有“序”&#xff0c;则连续化&#xff1b;否则&#xff0c;转化为k维向量 最小二乘解: 多元线性回归: 广义线性模型: 线性判别分析: 由于将样例投影到一条直线(低维空间)&#xff0c;因此也被视为一种&q…

excel统计分析——协方差分析基本原理

参考资料&#xff1a;生物统计学 方差分析中&#xff0c;要求除试验因素外的其他条件保持在相同水平上才能对实验结果的差异显著性进行比较&#xff0c;然而有些非试验因素很难或不可能人为控制&#xff0c;此时如果使用方差分析法推断处理其差异显著性&#xff0c;往往会导致错…