鸿蒙开发:了解应用级配置信息

前言

本文基于Api13。

在创建任意一个项目后,我们会发现,都会默认创建一个AppScope目录,这个目录就是我们的应用级配置信息的地方,它是创建项目后自动生成的,不可进行删除的,它的作用也很明显,一是用于存放全局的资源,二是配置应用的相关信息。

目录结构

默认的目录结构如下图所示,app.json5用于配置应用的相关信息,比如包名,应用图标等,resources是资源目录,子目录base是资源默认目录,再往下element目录是用于存放字符串、颜色、布尔值等基础元素,media用于存放图片、音频、视频等非文本格式的文件。

app.json5文件

应用的相关配置信息,默认的配置如下:

json 复制代码
{
  "app": {
    "bundleName": "com.abner.demo",
    "vendor": "example",
    "versionCode": 1000000,
    "versionName": "1.0.0",
    "icon": "$media:app_icon",
    "label": "$string:app_name"
  }
}

字段相关概述:

属性 概述
bundleName 标识应用的Bundle名称,用于标识应用的唯一性。
vendor 标识对应用开发厂商的描述,取值为长度不超过255字节的字符串。
versionCode 标识应用的版本号,取值为小于2^31次方的正整数。
versionName 标识向用户展示的应用版本号。
icon 标识应用的图标,取值为图标资源文件的索引。
label 标识应用的名称,取值为字符串资源的索引,字符串长度不超过63字节。

resources目录

资源目录,如果你的项目有多个Module,一些共用的资源可以统一放到这里,比如图片资源,颜色,字符串等等。

base是默认的目录,除了base之外,你可以创建其它的目录,比如国际化语言设置,颜色模式设置等等。

element目录下,可以创建的资源文件比较多,比如颜色,字符串等等,具体可创建如下:

text 复制代码
表示元素资源,以下每一类数据都采用相应的JSON文件来表征(目录下仅支持文件类型)。

  - boolean,布尔型

  - color,颜色

  - float,浮点型,范围是-2^128-2^128

  - intarray,整型数组

  - integer,整型,范围是-2^31-2^31-1

  - plural,复数形式

  - strarray,字符串数组

  - string,字符串

简单举例

因为是全局的,任何的Module下都可以直接的获取到资源,比如我定义了一个字符串。

代码中,可以和本Module使用方式一样,直接获取即可。

其它资源调用,和以上的使用方式基本一致。

总结

在实际的开发中,如果有共用的资源,建议大家都放到AppScope目录下,对于一些应用级别的信息,比如应用的名字,还有应用的图标,虽然说在Moulde下也可以配置,但是为了更方便的管理,这里比较推荐以AppScope目录下的app.json5为主,当然了,只是推荐,实际当中,两者都可以实现,大家选择其中一种方式即可。

相关推荐
听麟4 分钟前
HarmonyOS 6.0+ 跨端智慧政务服务平台开发实战:多端协同办理与电子证照管理落地
笔记·华为·wpf·音视频·harmonyos·政务
前端世界15 分钟前
从单设备到多设备协同:鸿蒙分布式计算框架原理与实战解析
华为·harmonyos
非凡ghost35 分钟前
PowerDirector安卓版(威力导演安卓版)
android·windows·学习·软件需求
JavinLu1 小时前
ios 配置了代理且使用 chls.pro/ssl 下载不了证书,无法弹出下载证书的提示问题
网络协议·ios·ssl
独行soc1 小时前
2026年渗透测试面试题总结-19(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
一只大侠的侠1 小时前
Flutter开源鸿蒙跨平台训练营 Day12从零开发通用型登录页面
flutter·开源·harmonyos
前端不太难2 小时前
HarmonyOS App 工程深水区:从能跑到可控
华为·状态模式·harmonyos
万少2 小时前
端云一体 一天开发的元服务-奇趣故事匣经验分享
前端·ai编程·harmonyos
一只大侠的侠2 小时前
Flutter开源鸿蒙跨平台训练营 Day 15React Native Formik 表单实战
flutter·开源·harmonyos
G31135422732 小时前
免费苹果 Plist 文件在线制作 iOS IPA 安装工具
ios