鸿蒙应用基础知识
目录
前言
鸿蒙OS学习笔记(不断更)
一、应用基础
1.APP
Entry:应用主模块(可独立运行)
Feature:应用动态特性模块
鸿蒙应用包以APP Pack形式发布,鸿蒙OS围绕Ability组件展开。
HAP是Ability的部署包
2.Ability
应用所具备能力的抽象,主要分为FA(有UI界面)和PA(无UI界面)两种
3.库文件
应用依赖的第三方代码,(放在libs目录)
4.pack.info
描述应用软件包中每个HAP的属性,由IDE编辑生成,应用市场该文件进行拆包和HAP的分类存储。
delivery-with-install:表示该HAP是否随应用安装
name:HAP文件名
module-type:模块类型,entry或feature
device-type:表示支持该HAP运行的设备类型
5.资源文件
存放在resourse目录下
资源文件的分类
resource分为两大类目录一类是base目录与限定词目录,一类是rawfile目录
分类
base目录与限定词目录(可创建资源组目录)
rawfile目录
组织形式
按照两级目录形式来组织
一级子目录为
base目录
和
限定词目录
。
base目录是当应用的resources资源目录中没有与设备状态匹配的限定词目录时,会自动引用该目录中的资源文件。
限定词目录需要开发者自行创建。目录命名必须为
语言_文字_国家或地区-横竖屏-设备类型-屏幕密度
二级子目录为
资源目录
,用于存放字符串、颜色、布尔值等基础元素,以及媒体、动画、布局等资源文件
支持创建多层子目录,目录名可自定义,文件夹内自由放置各类资源文件。
但是
rawfile目录的文件不会根据设备状态去匹配不同的资源
。
编译方式
目录中的资源文件会被编译成二进制文件,并赋予资源文件ID。
资源文件会被直接打包进应用,不经过编译,不被赋予资源文件ID。
引用方式
通过指定资源类型(type)和资源名称(name)来引用
通过指定文件路径和文件名来引用
base目录与限定词目录
资源组目录:存放特定类型的资源文件
资源组目录
目录说明
资源文件
element
表示元素资源,以下每一类数据都采用相应的JSON文件来表征。
boolean,布尔型
color,颜色
float,浮点型
intarray,整型数组
integer,整型
pattern,样式
plural,复数形式
strarray,字符串数组
string,字符串
element目录中的文件名称建议与下面的文件名保持一致。每个文件中只能包含同一类型的数据。
boolean.json
color.json
float.json
intarray.json
integer.json
pattern.json
plural.json
strarray.json
string.json
media
表示媒体资源,包括图片、音频、视频等非文本格式的文件。
文件名可自定义,例如:icon.png。
animation
表示动画资源,采用XML文件格式。
文件名可自定义,例如:zoom_in.xml。
layout
表示布局资源,采用XML文件格式。
文件名可自定义,例如:home_layout.xml。
graphic
表示可绘制资源,采用XML文件格式。
文件名可自定义,例如:notifications_dark.xml。
profile
表示其他类型文件,以原始文件形式保存。
文件名可自定义。
资源文件的使用:
base目录与限定词目录中的资源文件
:
Java中引用:
ResourceTable.
type
_
name
(系统资源引用
ohos.global.systemres.ResourceTable.
type
_
name
)
XML中引用:
$
type
:
name
(系统资源引用
$ohos:
type
:
name
)
rawfile目录中的资源文件
:
通过指定文件路径和文件名称来引用。
系统资源文件:
系统资源名称
含义
类型
ic_app
表示HarmonyOS应用的默认图标。
媒体
request_location_reminder_title
表示“请求使用设备定位功能”的提示标题。
字符串
request_location_reminder_content
表示“请求使用设备定位功能”的提示内容,即:请在下拉快捷栏打开"位置信息"开关。
字符串
6.配置文件(config.json):
用于声明应用的Ability,以及应用所需权限等信息
“config.json”中由“app”、“deviceConfig”和“module”三个部分组成,缺一不可。