鸿蒙准备1

news2024/11/19 6:23:22

鸿蒙心路

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

感慨

最近面试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
│      
└─hvigor
        hvigor-config.json5
        hvigor-wrapper.js

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

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

相关文章

SpringCloudStream 3.x rabbit 使用

1. 前言 今天带来的是SpringCloudStream 3.x 的新玩法,通过四大函数式接口的方式进行数据的发送和监听。本文将通过 rabbitMQ 的方式进行演示 3.x版本后是 可以看到 StreamListener 和 EnableBinding 都打上了Deprecated 注解。后续的版本更新中会逐渐替换成函数式…

修改Ubuntu远程登录欢迎提示信息

无论何时登录公司的某些生产系统,你都会看到一些登录消息、警告或关于你已登录服务器的信息,如下所示。 修改方式 1.打开ubuntu终端,进入到/etc/update-motd.d目录下面 可以发现目录中的文件都是shell脚本, 用户登录时服务器会自动加载这个目录中的文件…

深度学习之基于Matlab NN的伦敦房价预测

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 房价预测是房地产领域的一个重要问题,对于投资者、开发商以及政策制定者等都具有重要的指…

【写作吗。月入过万,8年写作路,10w+订阅创作者的18条建议】

Tom Kuegler :62k粉丝的medium独立作者,全网累计10w人订阅。他不是高深莫测,有资源背景的大V,也不是有运营团队的流量博主,而是从零开始,坚持不断写作的最普通创作者之一。 通过写作,他收入过万…

SpirngBoot整合快递100

目录 一、注册快递100 二、技术文档地址 三、需要认证的key和comcumer 四、spring boot 整合快递 100使用 4.1 引入快递100和hutool的依赖 4.2 将key和comcumer写入application.properties文件中 4.3 新建一个modle,用于将查出来的json数据转成对象 4.4 新建一个controll…

【yolov8】yolov8剪枝训练流程

yolov8剪枝训练流程 流程: 约束剪枝微调 一、正常训练 yolo train model./weights/yolov8s.pt datayolo_bvn.yaml epochs100 ampFalse projectprun nametrain二、约束训练 2.1 修改YOLOv8代码: ultralytics/yolo/engine/trainer.py 添加内容&#…

机器学习高频问答题总结

机器学习问答题总结 第一章 线性回归1.什么是线性回归?解释主要原理2.解释线性回归中最小二乘法的原理吗?3.如何评估线性回归模型的性能?4.线性回归中正则化的目的是什么吗?L1正则化和L2正则化有什么不同? 第二章 逻辑…

深入解析yolov5,为什么算法都是基于yolov5做改进的?(一)

YOLOv5简介 YOLOv5是一种单阶段目标检测算法,它在YOLOv4的基础上引入了多项改进,显著提升了检测的速度和精度。YOLOv5的设计哲学是简洁高效,它有四个版本:YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,分别对应不同的模型大小…

神经网络与深度学习--网络优化与正则化

文章目录 前言一、网络优化1.1网络结构多样性1.2高维变量的非凸优化1.鞍点2.平坦最小值3.局部最小解的等价性 1.3.改善方法 二、优化算法2.1小批量梯度下降法(Min-Batch)2.2批量大小选择2.3学习率调整1.学习率衰减(学习率退火)分段…

MouseBoost PRO for Mac激活版:强大的 鼠标增强软件

在追求高效工作的今天,MouseBoost PRO for Mac成为了许多Mac用户的得力助手。这款功能强大的鼠标增强软件,以其独特的智能化功能和丰富的实用工具,让您的电脑操作更加便捷、高效。 MouseBoost PRO for Macv3.4.0中文激活版下载 MouseBoost PR…

nginxconfig.io项目nginx可视化配置--搭建-视频

项目地址 https://github.com/digitalocean/nginxconfig.io搭建视频 nginxconfig.io搭建 nginxconfig.io搭建 展示效果 找到这个项目需要的docker镜像,有项目需要的node的版本 docker pull node:20-alpine运行这个node容器,在主机中挂载一个文件夹到容器中 主机&a…

Python 与 TensorFlow2 生成式 AI(四)

原文:zh.annas-archive.org/md5/d06d282ea0d9c23c57f0ce31225acf76 译者:飞龙 协议:CC BY-NC-SA 4.0 第九章:文本生成方法的崛起 在前几章中,我们讨论了不同的方法和技术来开发和训练生成模型。特别是在第六章“使用 …

LLM应用:让大模型prompt总结生成Mermaid流程图

生成内容、总结文章让大模型Mermaid流程图展示: mermaid 美人鱼, 是一个类似 markdown,用文本语法来描述文档图形(流程图、 时序图、甘特图)的工具,您可以在文档中嵌入一段 mermaid 文本来生成 SVG 形式的图形 Prompt 示例:用横向…

基于OSAL 实现UART、LED、ADC等基础示例 4

1 UART 实验目的 串口在我们开发单片机项目是很重要的,可以观察我们的代码运行情况,本节的目的就 是实现串口双工收发。 虽然说 osal 相关的代码已经跟硬件关系不大了,但是我们还是来贴出相关的硬件原理图贴出来。 1.1 串口初始化 osal_ini…

latex使用bib引用参考文献时,正文编号顺序乱序解决办法,两分钟搞定!

一、背景 用Latex写文章时,使用bib添加参考文献是一种最为简便的方式。但有的期刊模板,如机器人顶会IROS,会出现正文参考文献序号没按顺序排列的情况,如下图所示。按理说文献[4]应该是文献[2],[2]应该是[3]&#xff0…

Go中为什么不建议用锁?

Go语言中是不建议用锁,而是用通道Channel来代替(不要通过共享内存来通信,而通过通信来共享内存),当然锁也是可以用,锁是防止同一时刻多个goroutine操作同一个资源; GO语言中,要传递某个数据给另一个gorout…

Java项目:88 springboot104学生网上请假系统设计与实现

作者主页:源码空间codegym 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 本学生网上请假系统管理员,教师,学生。 管理员功能有个人中心,学生管理,教师管理,…

22 重构系统升级-实现不停服的数据迁移和用户切量

专栏的前 21 讲,从读、写以及扣减的角度介绍了三种特点各异的微服务的构建技巧,最后从微服务的共性问题出发,介绍了这些共性问题的应对技巧。 在实际工作中,你就可以参考本专栏介绍的技巧构建新的微服务,架构一个具备…

vue3 安装-使用之第一篇

首先需要node版本高于V16.14.1 安装 执行 npm create vitelatest 具体选择按照自己实际需要的来 Project name:项目名称 Select a framework:选择用哪种框架 (我选择vue) Select a variant: 选择用JS还是TS(我选择JS)找到项目&…

STM32 HAL库F103系列之IIC实验

IIC总线协议 IIC总线协议介绍 IIC:Inter Integrated Circuit,集成电路总线,是一种同步 串行 半双工通信总线。 总线就是传输数据通道 协议就是传输数据的规则 IIC总线结构图 ① 由时钟线SCL和数据线SDA组成,并且都接上拉电阻…