鸿蒙OS实战:【module的使用】

在开发HarmonyOS应用时,默认创建的工程会有一个entry module,实际应用场景为了代码或者功能解耦,我们需要用到module来进行隔离。根据鸿蒙3.0/3.1/4.0官方指导,我们可以了解到关于module的类型,以及依赖关系,本篇文章将详细为大家介绍一下module的使用

准备

  1. 请按照鸿蒙官方中的"文档/指南"配置开发环境
  2. HarmonyOS 4.0系统手机

工程效果

备注:点击“entry 类型Module入口”可唤起feature类型Module中的特定页面

image.png

概念概况

0900086000300134184.20201216095126.86523331460016843504112994983392.png

0900086000300134184.20201216095126.86523331460016843504112994983392.png

应用研发

应用共分为四个module,名称分别为entry,  harlibrary,  hsplibrary,  modulefeature

  • entry:  应用主入口
  • harlibray: 实践entry如何依赖共享静态库
  • hsplibrary: 实践entry如何依赖共享动态库
  • modulefeature: 实践entry如何使用feature

创建harlibray

创建module ---->  har依赖

har依赖文档中,可参考“引用本地文件夹,有如下两种方式”字样描述。

注意:folder,在文档中没有注明规则,你可以参考本篇文章中的设置,必须以@ohos开头,否则在entry模块中引用时会报错

创建hsplibrary

创建module----> hsp依赖(同 har依赖)

备注:本篇文章实践中,创建了一个CustomComponent.ets文件,用于渲染文本,最终会被entry 模块中的index.ets文件调用

创建modulefeature

在DevEco Studio中,由于已经存在了一个entry类型module, 因此,在按照Empy Ability模版创建时,类型默认只能是feature

更多鸿蒙开发应用知识已更新gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md参考前往。

添加依赖

  1. entry依赖harlibrary

    • 工程根目录/oh-package.json5中添加如下依赖, 注意:“@ohos”必须要,"harlib"属于自己取的名字,“file:”也是固定开头
    •  "dependencies": { "@ohos/harlib": "file:harlibrary" },复制 
  2. entry依赖hsplibrary

    • 工程根目录/entry/oh-package.json5中添加如下依赖, 注意:“@ohos”必须要,"hsplib"属于自己取的名字
    •  "dependencies": { "@ohos/hsplib": "../hsplibrary" }复制 
  3. entry依赖modulefeature

    • 其实不能叫做依赖,‘共存“更为合适

    • entry 如果想要使用modulefeature中的UIAbility,需要先将modulefeature一同打包进入.app中,基本操作步骤如下, 亦可参考官网文档。

0900086000300134184.20201216095126.86523331460016843504112994983392.png

0900086000300134184.20201216095126.86523331460016843504112994983392.png

image.png

0900086000300134184.20201216095126.86523331460016843504112994983392.png

编译安装

在工具栏选择"entry"模块,点击绿三角图标,即可完成编译安装。

备注: 注意要添加签名,否则无法安装

鸿蒙值得开发者入行

为什么这么说?市场是决定人力需求的,数据说话最管用:

1、鸿蒙其全栈自研,头部大厂商都陆续加入合作开发鸿蒙原生应用——人才需求上涨

2、鸿蒙作为新系统、新技术,而现在市面上技术人才少——高薪招聘开启

3、鸿蒙1+8+N生态,不仅只有应用开发;还有车载、数码、智能家居、家电等——就业范围广

4、纯血鸿蒙,目前没有多少人熟悉。都处于0基础同一起跑线——无行业内卷

开发者最需要什么?岗位多、薪资高、不内卷、行业竞争低。而当下的鸿蒙恰恰符合要求。

那么这么好的鸿蒙岗位,应聘要求都很高吧?其实不然鸿蒙作为新出的独立系统,其源头上大家都处于同一水平线上,一开始的技术要求都不会很高,毕竟面试官也是刚起步学习。招聘要求示例:

从信息看出,几乎应职要求是对标有开发经验的人群。可以说鸿蒙对开发者非常友好,尽管上面没提鸿蒙要求,但是面试都会筛选具有鸿蒙开发技能的人。我们程序员都知道学习开发技术,最先是从语言学起,鸿蒙语言有TS、ArkTS等语法,那么除了这些基础知识之外,其核心技术点有那些呢?下面就用一张整理出的鸿蒙学习路线图表示:

从上面的OpenHarmony技术梳理来看,鸿蒙的学习内容也是很多的。现在全网的鸿蒙学习文档也是非常的少,下面推荐一些:完整内容可在头像页保存,或这qr23.cn/AKFP8k甲助力

内容包含:

  • ArkTS
  • 声明式ArkUI
  • 多媒体
  • 通信问题
  • 系统移植
  • 系统裁剪
  • FW层的原理
  • 各种开发调试工具
  • 智能设备开发
  • 分布式开发等等。

这些就是对往后开发者的前景分享,希望大家多多点赞关注喔!

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

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

相关文章

代码随想录学习Day 18

530.二叉搜索树的最小绝对差 题目链接 讲解链接 思路:利用二叉搜索树的性质,其中序遍历序列是一个有序数组。所以先对二叉搜索树进行中序遍历,得到一个递增的数组后,再遍历整个数组,依次求相邻值的差,最…

漏洞扫描-让安全弱点无所遁形

随着信息技术的迅猛发展和互联网的广泛普及,网络安全问题日益凸显。在这个数字化的世界里,无论是企业还是个人,都面临着前所未有的安全威胁。安全漏洞,作为这些威胁的源头,常常被忽视或无法及时发现。 而漏洞扫描&…

静态住宅IP优缺点,究竟要怎么选?

在进行海外 IP 代理时,了解动态住宅 IP 和静态住宅 IP 的区别以及如何选择合适的类型非常重要。本文将介绍精态住宅 IP 特点和,并提供选择建议,帮助您根据需求做出明智的决策。 静态住宅 IP 的特点 静态住宅 IP 是指 IP 地址在一段时间内保…

C++11 手写线程池

#include<bits/stdc.h> #include<thread> #include<mutex> #include<condition_variable> #include<functional> //https://www.bilibili.com/video/BV1d841117SH?p9&vd_source4943da2c9c0dacb95119f2042d2dfacc /*** 线程池&#xff1a;预…

echarts图表自适应和其他问题

1.使用 eCharts 提供的 resize()方法&#xff0c;监听图表容器的大小并改变图表大小 // 监听 resize 事件 window.addEventListener("resize", function () {this.chart.resize(); }); 报错如下&#xff1a;Uncaught TypeError: Cannot read properties of undefine…

经验篇04-为什么学了很多知识/读了很多书却没用

前言 以下内容是参加古典老师的写作训练营&#xff0c;古典老师分享的视频课程&#xff0c;对于喜欢阅读或者学习的人来说&#xff0c;可以揭开【学了很多东西却没用】这个问题的神秘面纱&#xff0c;我个人收获非常大&#xff0c;结合了一些自己的理解&#xff0c;形成此文&am…

数据链路层(四):数据链路层协议

目录 1 数据链路层协议1.1 异步协议1.2 同步协议1.3 局域网数据链路层协议1.4 广域网数据链路层协议 1 数据链路层协议 数据链路层“协议”也称为“规程”&#xff0c;数据链路控制协议也称数据链路控制规程。 数据链路控制协议主要分为异步协议和同步协议两大类。 1.1 异步协…

java常用IO流功能——字符流和缓冲流概述

前言&#xff1a; 整理下学习笔记&#xff0c;打好基础&#xff0c;daydayup! 之前说了下了IO流的概念&#xff0c;并整理了字节流&#xff0c;有需要的可以看这篇 java常用应用程序编程接口&#xff08;API&#xff09;——IO流概述及字节流的使用 字符流 FileReader(文件字…

leetcode 1218.最长定差子序列

思路&#xff1a;动态规划。 其实这道题和最长递增子序列很像&#xff0c;都是以数字为结尾的dp形式&#xff0c;也就是把判断条件改了一下就是了。 这里首先我们用二重循环来做一下&#xff0c;发现会时间超时&#xff0c;因为这里的时间数是大于10万的&#xff0c;所以要么…

docker 共享内存不足问题

在启动容器时增加共享内存大小&#xff1a; 您可以通过在docker run命令中添加--shm-size参数来指定更大的共享内存大小。例如&#xff0c;如果您需要32GB的共享内存&#xff0c;可以这样做&#xff1a; docker run --shm-size32g -it your-docker-image 这里的your-docker-im…

SAP Fiori开发中的JavaScript基础知识2 - 变量,操作符,值,类型

1. JavaScript代码示例 在介绍JavaScript具体语法前&#xff0c;让我们先看一段在Web应用程序过程中的JS代码片。 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>First JavaScript Application!</title><scr…

webpack proxy工作原理?为什么能解决跨域?

一、是什么 webpack proxy&#xff0c;即webpack提供的代理服务 基本行为就是接收客户端发送的请求后转发给其他服务器 其目的是为了便于开发者在开发模式下解决跨域问题&#xff08;浏览器安全策略限制&#xff09; 想要实现代理首先需要一个中间服务器&#xff0c;webpac…

代码随想录算法训练营Day35|LC860 柠檬水找零LC406 根据身高重建队列LC452 用最少数量的箭引爆气球

一句话总结&#xff1a;身高队列看起来不简单&#xff0c;实际上也很难。 原题链接&#xff1a;860 柠檬水找零 简单贪心思想即可。5元时加入cnt5&#xff0c;10元时cnt10&#xff0c;cnt5--&#xff0c; 20元时则优先找零10元再找零5元&#xff0c;这样最后判断是否在一次找零…

超全整理,软件测试-性能测试流程汇总,看这一篇就够了...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 性能测试&#xf…

Redis 教程系列之Redis 客户端连接(八)

Redis 通过监听一个 TCP 端口或者 Unix socket 的方式来接收来自客户端的连接&#xff0c;当一个连接建立后&#xff0c;Redis 内部会进行以下一些操作&#xff1a; 首先&#xff0c;客户端 socket 会被设置为非阻塞模式&#xff0c;因为 Redis 在网络事件处理上采用的是非阻塞…

2024年蓝牙耳机怎么选?五大爆火真无线蓝牙耳机推荐大公开!

​随着科技的进步&#xff0c;越来越多的用户倾向选择无线蓝牙耳机&#xff0c;摆脱有线耳机的束缚&#xff0c;享受更加自由的音乐体验。为了帮助大家选购到适合自己的蓝牙耳机&#xff0c;我整理了一些目前市面上我个人认为性能优异的款式&#xff0c;与大家分享。 一、蓝牙耳…

封装的charts使用 vue2

//组件 <template><div ref"chartRef" class"echart"></div> </template><script> import * as echarts from echartsexport default {data() {return {chart: null}},methods: {init() {if (!this.chart) {this.chart ech…

共享旅游卡见证旅游市场的活力与魅力!这个财富风口你抓住了吗?

共享旅游卡&#xff0c;探索旅游市场新活力&#xff0c;捕捉财富风口 暑期旅游热潮涌动&#xff0c;中国旅游研究院预测&#xff0c;今年暑期将成为五年来最为火爆的旅游季节。在6月至8月期间&#xff0c;国内旅游人数预计占全年出游总人数的近三成&#xff0c;旅游收入也有望…

typeScript5(元组)

数组一般由同种类型的值组成&#xff0c;但有时我们需要在单个变量中存储不同类型的值&#xff0c;这时候我们就可以使用元组。在 JavaScript 中是没有元组的&#xff0c;元组是 TypeScript 中特有的类型&#xff0c;其工作方式类似于数组。 元组最重要的特性是可以限制数组元…

龙哥风向标20240326 GPT拆解

视频号刷到一个便携折叠屏&#xff0c;直击商务用户群体痛点 盈利点&#xff1a;利用视频号平台上商务用户群体的需求&#xff0c;推出便携折叠屏产品&#xff0c;吸引高客单的商务用户群体&#xff0c;同时可以考虑拓展海外市场。 操作步骤&#xff1a; 通过视频号平台了解商…