Android 学习 鸿蒙HarmonyOS 4.0 第二天(项目结构认识)

项目结构认识 和 了解:

工程目录下的结构如下:

首先能看到有两个.开头的文件,分别是.hvigor 和 .idea。这两个文件夹都是与构建有关系的,

如果你开发过安卓app,构建完会生成一个apk安装包,鸿蒙则是生成hap文件

(hap:HarmonyOS Ability Package  鸿蒙应用安装包)hap文件在构建过程中,需要一些配置,就与这两个文件夹有关系。

.hvigor:存储构建信息的一些的一些文件,发布打包的时候才会有关系,与开发中没关系,发布打包才会有关系。

.idea:与别的开发工具类似,主要作用在于存放项目的控制信息,包括版本信息,历史记录等等,不做过多讲解。

AppScope:全局的公共、共享资源存放目录。

entry:工程模块,类似于android 中的 app模块。用来写源代码的

hvigor: 也是存放配置文件信息,存放前端构建配置文件信息,里面基于ts实现的前端构建和任务编程的工具,来结合npm的一个包的管理机制,如果是前端开发,会比较熟悉。

oh_modules:存放的第三方包。

.gitgnore:代码提交的忽略文件个人开发/学习不用管

build-profile.json5:项目级别的构建匹配信息,配置产品签名,名字,模块名字,等等。

hvigorfile.ts / hvigorw / hvigorw.bat : 三个都是脚本,可以运行的。

hvigorfile.ts:执行编译和构建任务的脚本。和项目代码编译无关。

hvigorw.bat :windows下执行的脚本,用来做ohpm的编译构建工具。

hvigorw :linux下执行的脚本,用来做ohpm的编译构建工具。

local.properties:属性配置文件,配置本地信息,sdk,node.js所在的文件目录。不用动

oh-package.json5:依赖的配置,第三方包的依赖,依赖关系。

oh-package-lock.json5:树形的依赖书

模块级别(entry)的结构如下:

src:源代码目录。

        main:核心代码

                 ets:ArktTs源代码目录        页面和逻辑的分离

                        entryability:用于写逻辑,生命周期的关联

                        pages:界面的开发,组件什么的,文件后缀:.ets ,arkts 写的 

                 resoures:模块级别下的资源文件,比如color.js,string.json等等,是一个共享目录。

                 module.json5:当前模块的配置,包含当前模块的配置信息。其中module对应的是模

                                            块 的配置信息,一个模块对应一个打包后的hap包。

        ohosTest:单元测试,测试代码写这里。

.gitgnore:代码提交的忽略文件个人开发/学习不用管

.build-profile.json5:与工程目录下的名字一样,这个是模块级别的配置文件信息,包括模块的编译,构建的配置项。

hvgorfile.ts:脚本文件,与工程目录下也有一个这个文件,这个是模块级别的文件构建脚本。

下一章预告:

Android 学习 鸿蒙HarmonyOS 4.0 第三章(TS的常用基本类型)

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

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

相关文章

【C++风云录】进入语音识别与自然语言处理的世界:探索C++库的功能与应用场景

构建智能语音应用:深入了解C语音识别与自然语言处理库 前言 语音识别和自然语言处理是人工智能领域的重要研究方向,它们在自动语音识别、机器翻译、智能对话等方面有着广泛的应用。在这个领域,有许多优秀的开源和商业的工具和库可供选择&am…

mxnet.gluon.rnn及mxnet.symbol实现LSTM教程

基于mxnet.symbol的基本使用以及模型加载与保存 mxnet基本使用以及模型加载与保存 mxnet.symbolRNN-GRU-LSTM-Bi官网教程 基于mxnet的LSTM实现(mx.rnn.LSTMCellsymbol) 基于mxnet.gluon.rnn的基本使用以及模型加载与保存 LSTM Mxnet Implementation-手写 mxnet.gluon.rnn.LSTM中…

K8s: Helm包管理工具的应用以及项目分环境部署

Helm 概述与安装 1 ) 概述 k8s中官方包管理工具, 官网: https://helm.sh/用 Yaml 管理多个应用同时部署 不需要在不同的yaml中写两遍,执行两遍解决一键部署的问题,联合部署 实现了部署的版本管理 可以实现版本回滚 应用和配置分离 2 )安装 …

阿里云RocketMQ消费MQTT消息

业务背景: 项目中涉及的消息队列既有RocketMQ,又有MQTT,均为阿里云提供(阿里云有专门的“微消息队列 MQTT 版”模块,但博主公司消息队列的实例都在“消息队列 RocketMQ 版”模块下,只是实例不同&#xff0c…

【Oracle】python调取oracle数据教程

目录 (1)安装python和相关库 1.python的下载和安装 2.python安装cx_Oracle库和pandas库 3.本机安装instantclient 数据库客户端 先安装instantclient 然后设置环境变量 (2)准备好连接Oracle数据库地址等五项信息 &#xf…

Java基础(3)String、StringBuffer、StringBuilder

在Java中,字符串处理是日常开发的重要组成部分。主要有三种类型的类用于创建和操作字符串:String、StringBuffer和StringBuilder。虽然这三个类都能够处理字符串,但它们在功能和性能方面存在显著差异。 String String是不可变的&#xff08…

VUE3与Uniapp 五 (v-if、v-show和template的使用)

<template><!-- v-if如果是false&#xff0c;则不会出现在DOM中&#xff0c;不会被渲染&#xff1b;v-show如果为false&#xff0c;则会出现在DOM中&#xff0c;并加载资源&#xff08;如图片&#xff09;&#xff0c;只是CSS隐藏了。 --><view v-if"day1&…

秋招后端开发面试题 - Java多线程(上)

目录 Java多线程前言面试题线程和进程&#xff1f;说说线程有几种创建方式&#xff1f;为什么调用 start() 方法时会执行 run() 方法&#xff0c;那怎么不直接调用 run() 方法&#xff1f;线程有哪些常用的调度方法&#xff1f;线程有几种状态&#xff1f;守护线程了解吗&#…

深入理解汇编中的ZF、OF、SF标志位和条件跳转

本节课在线学习视频&#xff1a;https://pan.quark.cn/s/bbc4781e5336 汇编语言中的程序控制流常依赖于处理器的状态标志来进行决策。在x86架构中&#xff0c;ZF&#xff08;Zero Flag&#xff09;、OF&#xff08;Overflow Flag&#xff09;和SF&#xff08;Sign Flag&#x…

Linux(Centos 7)环境下安装wget,并且更换阿里云镜像

Linux(Centos 7) Minimal 安装后&#xff0c;由于没有预装wget&#xff0c;在使用wget命令去下载安装相关应用时&#xff0c;提示&#xff1a;“wget: command not found” 先在Linux服务器窗口中&#xff0c;输入如下命令&#xff0c;检查Linux服务器有没有安装过wget。 rpm -…

Django信号(Signals)使用案例:自动化工作流程

Django信号&#xff08;Signals&#xff09;是一种可以让应用程序组件之间进行解耦的机制。它允许在特定事件发生时发送信号&#xff0c;其他组件可以监听这些信号并做出相应的处理。 在自动化工作流程中&#xff0c;Django信号可以用来触发自动化任务或流程。以下是一个使用D…

deepflow grafana plugin 编译问题解决

修改tsconfig.js 增加"noImplicitAny": false&#xff0c;解决代码类型没有指定&#xff0c;显示Any 错误 To solve the error, explicitly set the parameters type to any, use a more specific type or set noImplicitAny to false in tsconfig.json. https://b…

【大学生电子竞赛题目分析】——2023年H题《信号分离装置》

今年的大赛已临近落幕&#xff0c;笔者打算陆续对几个熟悉领域的题目作一番分析与讨论&#xff0c;今天首先分析H题。 网上有一些关于H题的分析&#xff0c;许多都是针对盲信号分析的。然而本题具有明确的信号频率范围&#xff0c;明确的信号可能频率&#xff0c;明确的信号波…

Jmeter Beanshell 设置全局变量

//获取token import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONArray; import java.util.*; import org.apache.jmeter.util.JMeterUtils; //获取可上机机器 String response prev.getResponseDataAsString(); JSONObject responseObect JSONObjec…

什么是跨域? 出现原因及解决方法

什么是跨域? 出现原因及解决方法 什么是跨域 跨域&#xff1a;浏览器对于javascript的同源策略的限制 。 同源政策的目的&#xff0c;是为了保证用户信息的安全&#xff0c;防止恶意的网站窃取数据。 设想这样一种情况&#xff1a;A 网站是一家银行&#xff0c;用户登录以后…

K8S哲学 - statefulSet 灰度发布

kubectl get - 获取资源及配置文件 kubectl get resource 【resourceName -oyaml】 kubectl create - 指定镜像创建或者 指定文件创建 kubectl create resource 【resourceName】 --imagemyImage 【-f my.yaml】 kubectl delete kubectl describe resource resourc…

OceanBase 分布式数据库【信创/国产化】- 登录 OceanBase 租户

本心、输入输出、结果 文章目录 OceanBase 分布式数据库【信创/国产化】- 登录 OceanBase 租户前言OceanBase 数据更新架构OceanBase 租户架构登录系统租户通过 MySQL 客户端登录通过 OBClient 登录登录最佳实践登录用户租户登录 Meta 租户OceanBase 分布式数据库【信创/国产化…

UCOSIII章节介绍

UCOSIII章节介绍 一、第一部分&#xff08;第一章 至 第三十二章&#xff09;1、整体介绍2、单章介绍第一章 至 第三章&#xff1a;总体概览第四章 至 第五章&#xff1a;准备工作&#xff0c;配置KEIL工程环境第六章&#xff1a;准备工作&#xff0c;KEIL仿真介绍第七章&#…

怎么把试卷答案去掉再打印出来?

在学习中&#xff0c;试卷无疑是检验学习成果的重要工具。然而&#xff0c;当我们想重新练习这些试卷&#xff0c;加深对知识点的理解和记忆时&#xff0c;答案的存在往往会成为他们复习路上的“绊脚石”。那么&#xff0c;有没有一种方法可以轻松去除试卷上的答案&#xff0c;…

亚马逊云科技AWS将推出数据工程师全新认证(有资料)

AWS认证体系最近更新&#xff0c;在原有12张的基础上&#xff0c;将在2023年11月27日添加第13张&#xff0c;数据工程师助理级认证(Data Engineer Associate)&#xff0c;并且在2024/1/12前半价(省75刀&#xff1d;544人民币。 原有的数据分析专家级认证(Data Analytics Specia…