鸿蒙HarmonyOS应用开发——组件级配置,2024最新HarmonyOS鸿蒙面试题目解答

98 阅读5分钟

应用图标和标签配置

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

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

{ "app": { "icon": "media:appicon","label":"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":"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)管理

img img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!