一、感想
作为一名拥有11年经验的Android开发者,我亲历了Android从高速发展到如今面临“僧多粥少”的过程。技术的世界瞬息万变,没有一种技术能够让人依赖一辈子。去年初,我自学了鸿蒙系统,并顺利通过了鸿蒙官方的初级和高级认。
然而,由于一年来几乎没有实际应用,很多知识已经生疏。如今,我决定重新拾起鸿蒙开发,并通过笔记记录学习过程。
二、Harmony工程目录结构
在工程目录下,存在以下文件/文件夹:
AppScope, entry,hvigor,build-profile.json5,code-linter.json,hvigorfile.ts,oh-package.json5,oh-package-lock.json5。
build-profile.json5:工程级配置信息,包括签名signingConfigs、产品配置products等,模块信息在此处配置。
{
"app": {
"buildModeSet": [
{
"name": "debug"
},
{
"name": "release"
}
],
"products": [
{
"buildOption": {
"strictMode": {
"caseSensitiveCheck": true,
"useNormalizedOHMUrl": true
}
},
"compatibleSdkVersion": "5.0.2(14)",
"name": "default",
"runtimeOS": "HarmonyOS",
"signingConfig": "default"
}
],
"signingConfigs": []
},
"modules": [
{
"name": "entry",
"srcPath": "./entry",
"targets": [
{
"applyToProducts": [
"default"
],
"name": "default"
}
]
}
]
}
code-linter.json:是代码检查工具的配置文件,用于定义代码风格和质量规则。
hvigorfile.ts:工程级编译构建任务脚本
oh-package.json5:主要用来描述全局配置,如:依赖覆盖(overrides)、依赖关系重写(overrideDependencyMap)和参数化配置(parameterFile)等
oh-package-lock.json5:是依赖锁文件,用于精确记录当前项目中所有依赖的实际安装版本及其依赖树结构。它的作用是确保在不同环境中安装的依赖版本完全一致,避免因依赖版本不一致导致的问题。
AppScope:包含了resources 和 app.json5
resources:全局使用的资源,如图片、字符串等
app.json5:应用信息
{
"app": {
"bundleName": "com.zzw.harmonyapp",
"vendor": "example",
"versionCode": 1000000,
"versionName": "1.0.0",
"icon": "$media:app_icon",
"label": "$string:app_name"
}
}
entry:这个就跟Android的 app 一样的作用了
entry 之中也包含了:build-profile.json5,hvigorfile.ts,oh-package.json5。三个的作用上面做了介绍,区别在于entry中的是针对模块级别的。
entry目录中的其他元素,后面专门学习介绍。
hvigor:包含了hvigor-config.json5文件,hvigor-config.json5是 HarmonyOS 开发中用于配置 Hvigor 构建工具 的配置文件。Hvigor 是 HarmonyOS 的构建工具,类似于 Android 的 Gradle,用于管理项目的构建、依赖和任务执行。
三、ArkTS语法
ArkTs 是基于TypeScript 的语言,又“遥遥领先”了,跟前端的语法有点类似,主要记载一些常用的,要熟悉还是得靠日常的积累。
1.ArkTS的基本组成
四、沉浸式效果
典型应用全屏窗口UI元素包括状态栏,应用界面和底部导航条,其中状态栏和导航条,通常在沉浸式布局下称为避让区;避让区之外的区域称为全区。开发应用沉浸式效果主要指通过调整状态栏、应用界面和导航条的显示效果来减少状态栏导航条等系统界面的突兀感,从而使用户获得最佳的UI体验。