当前位置: 首页 > news >正文

Harmony开发笔记(未完成)

一、感想

作为一名拥有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体验。

相关文章:

  • 现在集成大模型的IDE,哪种开发效率最高
  • 【C语言】Leetcode热题100 --更新中
  • Python 给 Excel 写入数据的四种方法
  • P9420 [蓝桥杯 2023 国 B] 子 2023
  • LVS+keepalived实现高可用高性能高负载
  • 瑞芯微RK安卓Android主板GPIO按键配置方法,触觉智能嵌入式开发
  • DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
  • 汽车免拆诊断案例 | 保时捷车发动机偶发熄火故障 2 例
  • 大模型最新面试题系列:深度学习基础(一)
  • 【LeetCode459】重复的子字符串
  • Javascript中立即调用的异步函数表达式
  • Jupyter Notebook切换虚拟环境(Kernel管理)
  • 深度学习(3)-TensorFlow入门(常数张量和变量)
  • 【深入理解JWT】从认证授权到网关安全
  • 基于DeepSeek-R1-70b的医疗AI训练推理框架的详细解析
  • Kubernetes与Docker:区别与优劣总结
  • 浅谈新能源汽车充电桩建设问题分析及解决方案
  • Linux:(3)
  • Wpf 之Generic.xaml
  • seacms v9 实现的MySQL注入
  • 网站优化外包/一篇好的营销软文
  • 什么网站可以做自考试题/qq排名优化网站
  • 临沂网站建设培训学校/广州seo顾问
  • 网站主题推荐/seo包括哪些方面
  • wordpress禁止索引页面/巩义网站优化公司
  • 专业做网站套餐/长沙营销型网站建设