网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
工程目录区
预览区
打开 Previewer 预览虚拟机,还可以选择其它类型的设备进行预览。
根据代码我们可以知道代码和我们的组件关系是一一对应的,他们的关系都是层级式的。
运行Hello World
IDE提供模拟器供开发者使用,所以我们首先要下载并安装本地模拟器,然后进行运行工程。
(1) 单击顶部Tools —> Device Manager
(2)选择鸿蒙模拟器并安装所有设备 — 这里安装的是****模拟器的管理工具
安装好以后,点击Finish 。
(3)然后****将其放到原来D盘Huawei文件下保存
(4)然后再new一个模拟器。
**(5)**选择华为手机,然后点击next
(6)点击download进行华为模拟器的下载
安装完毕以后,点击Finish
下载完以后,显示SDK版本为: 3.1 , API : 9
**(7)**确认安装英特尔的硬件加速器
**(8)****等待1min,虚拟机就会自动开机,**下面展示的是正在开机的页面。
下面是开机完成的页面
(9)点击右上角的绿色开始按钮,虚拟机就会自动运行手机上的应用程序,如下图所示。
也可以通过快捷键访问应用。
基本工程目录
ws:工程级别目录
086233b4dc294951b07fdd1f8f07bd55.png
工程级别目录下
. 开头的:与构建和发布有关
AppScope:****全局资源共享目录
**entry:**✍🏻源代码的地方
**hvigor:**储存前端构建配置文件信息(基于TS的前端构建和任务编排)
**oh_modules:**开放鸿蒙,存放所有项目用的第三方包
**.gitignore:**代码版本管理文件夹,用于代码提交或代码忽略除外的文件。
**build-profile.json5:**配置或修改模块名称
.ts:全称是test script,是执行编译和构建任务的一个脚本
有.bat的文件hvigorw.bat:是Windows操作系统底下执行的脚本
没有.bat的文件bvigorw:是Linux或Unix操作系统中做ohpm的编译管理
**.properties:**配置文件的属性
**oh-package.json5:**包含依赖的配置,项目配置,以及(第三方包)依赖关系
**oh-package-lock.json5:**树型依赖数,包含项目配置信息。
树形依赖数是一种树形结构,用于表示依赖关系。在树形依赖数中,每个节点代表一个对象或实体,节点之间的连接****表示对象之间的依赖关系。树形依赖数通常用于描述复杂的层次结构或组织关系,例如文件系统、组织结构等。
在给定的引用中,有两个类用于表示树形依赖数。
TreeVo类表示树形依赖数的节点,包含节点的id、name和子节点列表。
TreeNode类表示树形依赖数的节点,包含节点的id、parentId、子节点列表和是否有子节点的标志。
以下是一个示例,演示如何使用TreeVo和TreeNode类构建树形依赖数:
// 创建树形依赖数的节点 TreeVo root = new TreeVo(1, "Root"); TreeVo child1 = new TreeVo(2, "Child 1"); TreeVo child2 = new TreeVo(3, "Child 2"); TreeVo grandchild1 = new TreeVo(4, "Grandchild 1"); // 构建树形依赖数的结构 root.setNodeList(Arrays.asList(child1, child2)); child1.setNodeList(Collections.singletonList(grandchild1)); // 打印树形依赖数的结构 printTree(root, 0); // 递归打印树形依赖数的结构 private static void printTree(TreeVo node, int level) { StringBuilder indent = new StringBuilder(); for (int i = 0; i < level; i++) { indent.append(" "); } System.out.println(indent.toString() + node.getName()); if (node.getNodeList() != null) { for (TreeVo child : node.getNodeList()) { printTree(child, level + 1); } } }
运行结果:
Root Child 1 Grandchild 1 Child 2
entry:模块级别目录
entry>src目录中主要包含总的main文件夹,单元测试目录ohosTest,以及模块级的配置文件。
main文件夹中:
**ets文件夹😗*存放ets代码.
**resources文件😗*存放模块内的多媒体及布局文件等,module.json5文件:为模块的配置文件。
ohosTest**😗*单元测试目录。build-profile.json5:模块级配置信息,包括编译构建配置项。
**hvigorfile.ts文件😗*模块级构建脚本。
oh-package.json5**😗*模块级依赖配置信息文件
进入src>main>ets目录中,其分为entryability、pages两个文件夹。Entryability:存放ability文件,用于当前ability应用逻辑和生命周期管理。
**Pages:**存放UI界面相关代码文件,初始会生成一个Index页面。
resources目录下存放模块公共的多媒体、字符串及布局文件等资源,分别存放在element、media文件夹中。
app.json5
AppScope>app.json5****是应用的全局的配置文件,用于存放应用公共的配置信息。
其中配置信息如下:bundleNam:包名。
vendor**😗*应用程序供应商。versionCode:用于区分应用版本。
versionName**😗*版本号。
module.json5
entry>src>main>module.json5****是模块的配置文件,包含当前模块的配置信息。
其中module:对应模块的配置信息,一个模块对应一个打包后的hap包,hap包全称是HarmonyOS Ability Package,其中包含了ability、第三方库、资源和配置文件。
其具体属性及其描述可以参照下表1。
表1module.json5默认配置属性及描述
对于abilities中每一个ability的属性项,其描述信息如下表2。
表2 abilities中对象的默认配置属性及描述
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
8910224b259a5ffe804fa6d0db.png)
[外链图片转存中…(img-eBBZjcAA-1715909953554)]
[外链图片转存中…(img-B406cZj8-1715909953554)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新