鸿蒙准备1

鸿蒙心路

    • 感慨
    • 索性, 看看鸿蒙吧。
        • 打开官网
          • 相关介绍
      • 新建工程
        • 目录结构

感慨

最近面试Android应用开发,动不动就问framework的知识,什么touch事件的触发源是啥(eventHub),gc流程是啥,图形框架是什么样的。
一个应用开发岗至于么,我要是精通那个,我就去面framework了。
一个字,卷。
不学习,固然不对。学习,学什么,不能没底线的往深度学。我提倡的,业务需要什么学什么,一切以业务为导向,对公司而言,技术不是主要的,重要的是解决方案以及快速解决问题,上线,产生钱。
对应的,面试官水平也是一方面,不知道自己要什么样的,别人面framework你也面,觉得越深越牛的,没意义,也没必要。

索性, 看看鸿蒙吧。

用什么语言不重要,语言只是实现业务场景的载体。
之所以看鸿蒙,觉得万物互联的概念,叠加车路协同,叠加智能家居,还是很有搞头的。

打开官网
相关介绍

DevEco Studio
面向HarmonyOS应用及元服务开发者提供的集成开发环境(IDE), 助力高效开发。
打开后,和Android Studio没啥差别,感觉很适应
在这里插入图片描述

ArkTS 语言
在这里插入图片描述
ArkUI
在这里插入图片描述
ArkCompiler
在这里插入图片描述
一次编译多端运行,好吧,我先信你。虽然我的华为手机已经嘎了。
下载studio,安装完成

新建工程

目录结构

看目录结构的意义是啥?
在这里插入图片描述
别说,长得和Android还挺像
我用的版本是 next版,非官网下载。小细节不太一样(dont care)
在这里插入图片描述

重要目录大概是这样的吧,别的帖子上找的

● AppScope > app.json5:应用的全局配置信息。
● entry:应用/服务模块,编译构建生成一个HAP。○ src > main > ets:用于存放ArkTS源码。○ src > main > ets > entryability:应用/服务的入口。○ src > main > ets > pages:应用/服务包含的页面。○ src > main > resources:用于存放应用/服务模块所用到的资源文件,如图形、多媒体、字符串、布局文件等。○ src > main > module.json5:Stage模型模块配置文件,主要包含HAP的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息。
● entry > build-profile.json5:当前的模块信息、编译信息配置项,包括buildOption、targets配置等。
● entry > hvigorfile.ts:模块级编译构建任务脚本。
● entry >oh-package.json5:配置三方包声明文件的入口及包名。
● oh_modules:用于存放三方库依赖信息,包含应用/服务所依赖的第三方库文件。关于原npm工程适配ohpm操作,请参考历史工程适配OHPM包管理。
● build-profile.json5:应用级配置信息,包括签名、产品配置等。
● hvigorfile.ts:应用级编译构建任务脚本。

windows 查看目录结构命令

tree /f 
C:..clang-format
│  .gitignore
│  build-profile.json5 //类似android 全局的gradle,又包含了 app 构建配置,包括 app 签名、编译 SDK 版本、兼容 SDK 版本,以及包含的 多个本地依赖模块 列表
│  hvigorfile.ts
│  hvigorw
│  hvigorw.bat
│  local.properties
│  oh-package-lock.json5
│  oh-package.json5
│
├─AppScope  // app 全局配置信息
│  │  app.json5
│  │
│  └─resources
│      └─base
│          ├─element
│          │      string.json
│          │
│          └─media
│                  app_icon.png
│
├─dependencies
│      hvigor-4.2.0.tgz
│      hvigor-ohos-plugin-4.2.0.tgz
│
├─entry  // 相当于 Android 项目中的 app 模块
│  │  .gitignore
│  │  build-profile.json5
│  │  hvigorfile.ts
│  │  obfuscation-rules.txt
│  │  oh-package.json5
│  │
│  └─src
│      ├─main
│      │  │  module.json5 当前模块下所有的 abilities的信息注册表,也通过pages字段关联了路由表
│      │  │
│      │  ├─ets
│      │  │  ├─entryability
│      │  │  │      EntryAbility.ets  // entry 中的页面,一个 entry 可以有多个 Ability,类似Android中的activity,//但只是一个容器,ui相关的在page内
│      │  │  │
│      │  │  └─pages
│      │  │          Index.ets // ui相关内容,类似 view,又有点fragment的味道,有自己的生命周期,jetpack compose更像了
│      │  │
│      │  └─resources
│      │      ├─base
│      │      │  ├─element
│      │      │  │      color.json
│      │      │  │      string.json
│      │      │  │
│      │      │  ├─media
│      │      │  │      background.png
│      │      │  │      foreground.png
│      │      │  │      layered_image.json
│      │      │  │      startIcon.png
│      │      │  │
│      │      │  └─profile
│      │      │          main_pages.json //page的跳转路由表
│      │      │
│      │      ├─en_US
│      │      │  └─element
│      │      │          string.json
│      │      │
│      │      ├─rawfile
│      │      └─zh_CN
│      │          └─element
│      │                  string.json
│      │
│      ├─mock
│      │      mock-config.json5
│      │
│      ├─ohosTest
│      │  │  module.json5
│      │  │
│      │  ├─ets
│      │  │  ├─test
│      │  │  │      Ability.test.ets
│      │  │  │      List.test.ets
│      │  │  │
│      │  │  ├─testability
│      │  │  │  │  TestAbility.ets
│      │  │  │  │
│      │  │  │  └─pages
│      │  │  │          Index.ets
│      │  │  │
│      │  │  └─testrunner
│      │  │          OpenHarmonyTestRunner.ets
│      │  │
│      │  └─resources
│      │      └─base
│      │          ├─element
│      │          │      color.json
│      │          │      string.json
│      │          │
│      │          ├─media
│      │          │      icon.png
│      │          │
│      │          └─profile
│      │                  test_pages.json
│      │
│      └─test
│              List.test.ets
│              LocalUnit.test.ets
├─myfeature1// 相当于 Android 项目中的 library 模块
│  │  .gitignore
│  │  build-profile.json5
│  │  hvigorfile.ts
│  │  obfuscation-rules.txt
│  │  oh-package.json5
│  │
│  └─src
│      └──main
│        │  module.json5
│        │
│        ├─ets
│        │  ├─myfeature1ability
│        │  │      Myfeature1Ability.ets
│        │  │
│        │  └─pages
│        │          Index.ets
│        │
│        └─resources
│            ├─base
│            │  ├─element
│            │  │      color.json
│            │  │      string.json
│            │  │
│            │  ├─media
│            │  │      background.png
│            │  │      foreground.png
│            │  │      layered_image.json
│            │  │      startIcon.png
│            │  │
│            │  └─profile
│            │          main_pages.json
│            │
│            ├─en_US
│            │  └─element
│            │          string.json
│            │
│            ├─rawfile
│            └─zh_CN
│                └─element
│                        string.json
│      
└─hvigorhvigor-config.json5hvigor-wrapper.js

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/7993.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

美国纽扣电池UL4200A及16CFR1262标准亚马逊要求

2023年9月21日,美国消费品安全委员会CPSC(Consumer Product Safety Commission) 决定采用UL 4200A-2023(包含纽扣电池或硬币电池的产品安全标准)作为包含纽扣电池或硬币电池的消费品的强制性消费品安全规则,相关要求同时被编入到1…

超越视觉极限:深度学习图像超分辨率算法清单【第一部分】

超越视觉极限:深度学习图像超分辨率算法清单 简介2014年 - SRCNN (Super-Resolution Convolutional Neural Network)2016年 - VDSR (Very Deep Super Resolution)2016年 - LapSRN (Laplacian Pyramid Super-Resolution Network)2017年 - EDSR (Enhanced Deep Super-…

Linux Kernel入门到精通系列讲解(OpenSBI 篇) 3.1 OpenSBI 源码分析之汇编

1.概述 OpenSBI是什么?这个问题对于初学者来说很重要,OpenSBI主要的作用就是一段RISC-V架构程序跳转程序,它集成了许多常用的driver,方便使用者快速移植,学过ARM的应该都知道BL2,OpenSBI的作用就类似于BL2,一段运行在DDR上的程序,负责为U-boot等提供入口参数和程序跳转…

提供 DISC性格测试报告的全新 API接口,带给你惊喜的发现!

简介 DISC个性测验由24组描述个性特质的形容词构成,每组包含四个形容词,这些形容词是根据支配性(D)、影响性(I)、服从性(C)、 稳定性(S)和四个测量维度以及一…

Nacos面试题(一)

1. 简述什么是 Nacos? Nacos是Dynamic Naming and Configuration Service的简称,是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos可以帮助应用实现服务注册、发现和负载均衡,同时方便地管理配置信息。 具体来说&…

JMeter - 如何测试REST API / 微服务

概述: 有许多方法和工具可用于测试REST API。 当我需要测试REST API时,在查看了各种工具和选项之后,由于以下原因,我选择了JMeter。 JMeter是免费和开源的。 JMeter可以从CSV文件中直接读取您的测试数据。参数化非常简单。 可以…

SparkSQL与Hive整合 、SparkSQL函数操作

SparkSQL与Hive整合 SparkSQL和Hive的整合,是一种比较常见的关联处理方式,SparkSQL加载Hive中的数据进行业务处理,同时将计算结果落地回Hive中。 整合需要注意的地方 1)需要引入hive的hive-site.xml,添加classpath目录下面即可…

【web网页制作】html+css旅游家乡河南开封主题网页制作(4页面)【附源码】

HTMLCSS家乡河南主题网页目录 🍔涉及知识🥤写在前面🍧一、网页主题🌳二、页面效果Page1 首页Page2 开封游玩Page 3 开封美食Page4 留言 🌈 三、网页架构与技术3.1 脑海构思3.2 整体布局3.3 技术说明书 🐋四…

springboot lua检查redis库存

需求 最近需求需要实现检查多个马戏场次下的座位等席对应库存渠道的库存余量,考虑到性能,决定采用Lua脚本实现库存检查。 数据结构 库存层级结构 redis库存hash类型结构 实现 lua脚本 --- 字符串分割为数组 local function split(str, char)local…

IIoT:数据融合在工业物联网中的应用——青创智通

工业物联网解决方案-工业IOT-青创智通 随着科技的不断发展,工业物联网(IIoT)已经逐渐渗透到各个行业,为企业的生产和管理带来了前所未有的便利。 然而,与此同时,海量的数据也为企业带来了挑战。如何将这些…

linux的firmware和hal层

linux的firmware和hal层 在Linux中,固件(firmware)和硬件抽象层(Hardware Abstraction Layer,HAL)是两个不同的概念。固件是运行在硬件设备上的程序,它们通常被用来控制硬件的操作。而HAL是一种…

【数学建模】天然肠衣搭配问题

2011高教社杯全国大学生数学建模竞赛D题 天然肠衣(以下简称肠衣)制作加工是我国的一个传统产业,出口量占世界首位。肠衣经过清洗整理后被分割成长度不等的小段(原料),进入组装工序。传统的生产方式依靠人工…

Node.js v20.12.2版本执行npm run dev 报openssl 错误2024最新修复方案

Node.js v20.12.2版本执行npm run dev 报openssl 错误2024最新修复方案 故障描述修复方案 故障描述 ERROR SyntaxError: missing ) after argument list C:\Users\xxx\Documents\workspace\WebstormProjects\xxxx\node_modules\webpack\lib\util\createHash.js:135return new …

基于springboot实现可盈保险合同管理系统项目【项目源码+论文说明】

基于springboot实现可盈保险合同管理系统演示 摘要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本可盈保险合同管理系统就是在这样的大环境下诞生,其…

C语言总结五:操作符(压缩版)

一,操作符分类 算术操作符,移位操作符,位操作符,赋值操作符,单目操作符,关系操作符,逻辑操作符,条件操作符,逗号表达式,下标引用,函数调用&#…

MySQL中GROUP_CONCAT与JSON_OBJECT、GROUP BY的巧妙结合:打造高效JSON数组汇总

在数据库操作中,经常遇到需要将同一组内的多行数据汇总为一个结构化的输出,特别是在处理一对多关系时。MySQL 5.7及以上版本引入了对JSON的支持,使得这一过程变得更加灵活和高效。本文将以一个实例深入探讨如何利用GROUP_CONCAT结合JSON_OBJE…

C#里如何设置输出路径,不要net7.0-windows

官网介绍&#xff1a; 更改生成输出目录 - Visual Studio (Windows) | Microsoft Learn <PropertyGroup> <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> <AppendRuntimeIdentifierToOutputPath>false</Appen…

面试题: malloc与new的区别

malloc, free是C语言中的库函数&#xff0c; new, delete是C中的运算符new自动计算分配内存的大小&#xff0c;malloc需要手动计算分配内存的大小new返回对象类型的指针&#xff0c;malloc返回的是void*类型&#xff0c;需要显式类型转换new分配失败抛出异常&#xff0c;malloc…

大数据Scala教程从入门到精通第四篇:Scala语言特点

一&#xff1a;Scala语言特点 Scala是一门头Java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言(静态语言需要提前编译的如:Java、c、c等&#xff0c;动态语言如:js) 1)&#xff1a;Scala是一门多范式的编程语言&#xff0c;Scala支持…

[COCI2022-2023#1] Berilij 题解

推荐在 cnblogs 上阅读。 Solution P9030 [COCI2022-2023#1] Berilij 本题解转载翻译自官方题解&#xff1a;COCI 2022/2023 CONTEST 1 Part 1 让我们定义图形 G G G&#xff0c;顶点代表飞船&#xff0c;边代表两艘飞船外部接触的情况。此外&#xff0c;让边的边权成为它…