鸿蒙准备1

news/2024/11/18 1:30:27/

鸿蒙心路

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

感慨

最近面试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.ppmy.cn/news/1446618.html

相关文章

记录PR学习查漏补缺

记录PR学习查漏补缺 常用快捷键文件编辑素材序列标记字幕窗口帮助 效果基本3D高斯模糊查找边缘色彩颜色平衡超级键马赛克中间值变形稳定器 常用 快捷键 注意:比较常用的用红色字体显示 文件 快捷键作用Ctrl Alt N新建项目Ctrl O打开项目Ctrl I导入Ctrl S保存…

笔记-用Python脚本启停JAR程序

用Python脚本启停JAR程序,需要用到python中的以下内置模块 subprocess 是 Python 的一个标准库模块,用于在新进程中执行子命令,获取子进程的输入/输出/错误以及返回码等os 是 Python 的一个标准库模块,它提供了与操作系统交互的功…

计算机视觉的应用29-卷积神经网络(CNN)中的变种:分组卷积、转置卷积、空洞卷积的计算过程

大家好,我是微学AI,今天给大家介绍一下计算机视觉的应用29-卷积神经网络(CNN)中的变种:分组卷积、转置卷积、空洞卷积的计算过程。分组卷积将输入通道分为几组,对每组独立进行卷积操作,以减少计算量和模型参数。转置卷…

小程序云开发(十六):小程序API实战

🔗 运行环境:小程序云开发 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 🔐#### 防伪水印——左手の明天 ####🔐 &#x1f497…

如何提升制造设备文件汇集的可靠性和安全性?

制造设备文件汇集通常指的是将与制造设备相关的各种文档和资料进行整理和归档的过程。这些文件可能包括但不限于: 生产数据:包括生产计划、订单信息、生产进度等。 设计文件:如CAD图纸、设计蓝图、产品模型等。 工艺参数:用于指…

CNCERT:关于汽车数据处理4项安全要求检测情况的通报 (第一批)

比亚迪、理想、路特斯、合众新能源、特斯拉、蔚来等6家企业的76款车型符合汽车数据安全4项合规要求。 为规范汽车数据处理活动,保障用户合法权益,鼓励头部汽车制造商发挥标杆作用,推动形成全社会共同维护汽车数据安全和促进汽车行业发展的良…

网络乱序是什么?乱序会造成什么?乱序会出现什么问题?如何解决?

主机内网络乱序,通常指的是在网络通信过程中,数据包到达接收端的顺序与发送端发出的顺序不一致。这种现象主要发生在传输层以下,尤其是在网络层(IP层)和数据链路层。 一、主机内网络乱序通常是由于以下原因引起的&…

Github查找代码项目高级语法(含科研项目查找案例)

基础搜索语法 1.搜索名字 in:name XXX 2.搜索描述 in:description XXX 3.搜索readme in:readme XXX 4.根据stars stars:>2000 5.根据fork fork:>3000 6.仓库大小搜索 size:>5000 [注意: 该处单位大小为 k] 7.根据更新时间 …