OpenHarmony教程—语言基础类库

介绍

本示例集合语言基础类库的各个子模块,展示了各个模块的基础功能,包含:

  • @ohos.buffer (Buffer)
  • @ohos.convertxml (xml转换JavaScript)
  • @ohos.process (获取进程相关的信息)
  • @ohos.taskpool (启动任务池)
  • @ohos.uri (URI字符串解析)
  • @ohos.url (URL字符串解析)
  • @ohos.util (util工具函数)
  • @ohos.util.ArrayList (线性容器ArrayList)
  • @ohos.util.Deque (线性容器Deque)
  • @ohos.util.HashMap (非线性容器HashMap)
  • @ohos.util.HashSet (非线性容器HashSet)
  • @ohos.util.LightWeightMap (非线性容器LightWeightMap)
  • @ohos.util.LightWeightSet (非线性容器LightWeightSet)
  • @ohos.util.LinkedList (线性容器LinkedList)
  • @ohos.util.List (线性容器List)
  • @ohos.util.PlainArray (非线性容器PlainArray)
  • @ohos.util.Queue (线性容器Queue)
  • @ohos.util.Stack (线性容器Stack)
  • @ohos.util.TreeMap (非线性容器TreeMap)
  • @ohos.util.TreeSet (非线性容器TreeSet)
  • @ohos.util.Vector (线性容器Vector)
  • @ohos.xml (xml解析与生成)

效果预览

在这里插入图片描述

使用说明

1.首页展示语言基础类库各个子模块菜单,点击进入对应的模块页面。
2.各个子模块界面中点击功能按钮完成各个功能。
3.Util中有二级菜单,点击进入对应的二级界面,包含:

  • StringCode:字符串编解码,点击功能按钮完成各个功能。
  • RationnalNumber:有理数比较,点击功能按钮完成各个功能。
  • LRUCache:LRU缓冲区,点击功能按钮完成各个功能。
  • ScopeHelper:范围判断,点击功能按钮完成各个功能。
  • Base64Helper:Base64编解码,点击功能按钮完成各个功能。
  • TypeCheck:类型检查,点击功能按钮完成各个功能。

4.Process界面中,先安装ProcessMessage,点击按钮跳转,点击功能按钮实现获取进程相关信息的功能。

5.TaskPool界面中,点击Execute task执行任务,点击Cancel task取消任务。

6.ArrayList界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。

7.Deque界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。

8.HashMap界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。

9.HashSet界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。

10.LightWeightMap界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。

11.LightWeightSet界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。

12.LinkedList界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。

13.List界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。

14.PlainArray界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。

15.Queue界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。

16.Stack界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。

17.TreeMap界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。

18.TreeSet界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。

19.Vector界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。

工程目录

LanguageBaseClassLibrary
├── AppScope                                    
│   └── app.json5                               //APP信息配置文件
├── entry/src/main                              //语言基础类库应用首页
│   ├── ets
│   │   ├── entryability
│   │   ├── pages
│   │   │   ├── Index.ets                       //主页入口
│   │   │   ├── AddInformationView.ets          //添加联系人页面
│   │   │   ├── AddKeyValuePairView.ets         //添加Key/Value页面
│   │   │   ├── AddStringView.ets               //添加String页面
│   │   │   ├── compnents                       
│   │   │   │   └── Capabilities.ets            //根据点击的菜单,展示对应的子界面
│   └── module.json5
│ 
├── common/src/main                             //公共组件及工具类
│   ├── ets
│   │   ├── components
│   │   │   └── CustomDataSource.ets            //自定义DataSource,LazyForEach时使用
│   │   ├── util
│   │   │   ├── Logger.ets                      //日志工具类
│   │   │   └── ResourceUtil.ets                //资源管理工具类
│   └── module.json5
│
├── menuitems/src/main                          //菜单
│   ├── ets
│   │   ├── Index.ets                           //对外提供的接口列表
│   │   ├── menulist                            //菜单组件
│   │   │    └── MenuList.ets                  
│   │   ├── components                          //菜单相关自定义组件
│   └── module.json5
│
├── capabilities/src/main                       //功能集
│   ├── ets
│   │   ├── capabilities                        //各个子模块功能组件
│   │   ├── components                          //子模块相关组件
│   │   │   ├── arraylistcomponents             //arraylist相关组件
│   │   │   ├── dequecomponents                 //deque相关组件
│   │   │   ├── hashmapcomponents               //hashmap相关组件
│   │   │   ├── hashsetcomponents               //hashset相关组件
│   │   │   ├── lightweightmapcomponents        //lightweightmap相关组件
│   │   │   ├── lightweightsetcomponents        //lightweightset相关组件
│   │   │   ├── linkedlistcomponents            //linkedlist相关组件
│   │   │   ├── listcomponents                  //list相关组件
│   │   │   ├── plainarraycomponents            //plainarray相关组件
│   │   │   ├── queuecomponents                 //queue相关组件
│   │   │   ├── stackcomponents                 //stack相关组件
│   │   │   ├── treemapcomponents               //treemap相关组件
│   │   │   ├── treesetcomponents               //treeset相关组件
│   │   │   ├── utilcomponents                  //util相关组件
│   │   │   ├── vectorcomponents                //vector相关组件
│   │   │   ├── ColumnOperation.ets             //展示一列功能按钮的组件
│   │   │   ├── DeleteView.ets                  //删除按钮的组件
│   │   │   ├── GridOperation.ets               //根据窗口大小展示不同列的功能按钮的组件
│   │   │   ├── InformationItemView.ets         //联系人Item的组件
│   │   │   ├── KeyValueItemView.ets            //Key/Value Item的组件
│   │   │   └── ValueItemView.ets               //Value Item的组件
│   │   ├── model                               //相关数据模型
│   │   ├── utils                               //相关工具类
│   │   └── Constant.ts                         //EmitterId
│   └── module.json5

具体实现

1.首页菜单展示:使用一个module,menuitems完成菜单组件的实现,传入要展示的菜单的strarray类型的资源和菜单点击对应的组件即可。使用Navigation和NavRouter组件实现菜单点击进入功能界面,使用LocalStorage实现应用内Ability内数据共享,点击菜单时标记selectedLabel,在entry中的Capabilities组件中,通过selectedLabel显示对应的功能组件。

2.Xml & ConvertXml:使用xml 和convertxml 实现xml的解析和生成以及xml转换为js对象,点击按钮实现对应的功能。

3.Process:使用process 实现获取进程相关信息的功能,点击按钮实现对应的功能。

4.TaskPool:使用taskpool 实现创建后台任务(Task),并对所创建的任务进行如任务执行、任务取消的操作。

5.Url:使用URL 对URL字符串的查找参数进行了增删改查的一系列操作,使得读者对URL的结构用途更加明了,点击按钮实现对应的功能。

6.Util,使用util中不同的功能函数实现以下功能:

  • StringCode:字符串编解码。
  • RationnalNumber:有理数比较。
  • LRUCache:LRU缓冲区。
  • ScopeHelper:范围判断。
  • Base64Helper:Base64编解码。
  • TypeCheck:类型检查。

7.ArrayList:展示线性容器ArrayList的数据类型的使用,包括添加、删除。

8.Deque:展示线性容器Deque的数据类型的使用,包括头部插入、头部删除、尾部删除。

9.HashMap:展示非线性容器HashMap的数据类型的使用,包括添加键值对、删除键值对。

10.HashSet:展示非线性容器HashSet的数据类型的使用,包括添加、删除。

11.LightWeightMap:展示非线性容器LightWeightMap的数据类型的使用,包括添加键值对、删除键值对。

12LightWeightSet:展示非线性容器LightWeightSet的数据类型的使用,包括添加、删除。

13.LinkedList:展示线性容器LinkedList的数据类型的使用,包括尾部添加、头部删除、尾部删除。

14.List:展示线性容器List的数据类型的使用,包括添加、删除。

15.PlainArray:展示非线性容器PlainArray的数据类型的使用,包括添加、删除。

16.Queue:展示线性容器Queue的数据类型的使用,包括尾部添加、头部删除。

17.Stack:展示线性容器Stack的数据类型的使用,包括尾部添加、尾部删除。

18.TreeMap:展示非线性容器TreeMap的数据类型的使用,包括添加键值对、删除键值对。

19.TreeSet:展示非线性容器TreeSet的数据类型的使用,包括添加、删除。

20.Vector:展示线性容器Vector的数据类型的使用,包括添加、删除。

相关权限

不涉及。

依赖

不涉及。

约束与限制

1.本示例仅支持标准系统上运行。

2.本示例支持API10版本SDK,SDK版本号(API Version 10 Release),镜像版本号(4.0 Release)。

3.本示例需要使用DevEco Studio 版本号(4.0 Release)及以上版本才可编译运行。

下载

如需单独下载本工程,执行如下命令:

git init
git config core.sparsecheckout true
echo code/LaunguageBaseClassLibrary/LanguageBaseClassLibrary/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master

那么要想成为一名鸿蒙高级开发,以上知识点是必须要掌握的,除此之外,还需要掌握一些鸿蒙应用开发相关的一些技术,需要我们共同去探索。

为了能够让大家跟上互联网时代的技术迭代,在这里我特邀了几位行业大佬整理出一份最新版的鸿蒙学习提升资料,有需要的小伙伴自行领取,限时开源,先到先得~~~~

领取以下高清学习路线原图请点击→《鸿蒙 (Harmony OS)开发学习手册》纯血鸿蒙HarmonyOS基础技能学习路线图

在这里插入图片描述
 

领取以上完整高清学习路线图,请点击→《鸿蒙基础入门学习指南》小编自己整理的部分学习资料(包含有高清视频、开发文档、电子书籍等)

在这里插入图片描述

以上分享的学习路线都适合哪些人跟着学习?

-应届生/计算机专业
通过学习鸿蒙新兴技术,入行互联网,未来高起点就业。
-0基础转行
提前布局新方向,抓住风口,自我提升,获得更多就业机会。
-技术提升/进阶跳槽
发展瓶颈期,提升职场竞争力,快速掌握鸿蒙技术,享受蓝海红利。

在这里插入图片描述

最后

鸿蒙开发学习是一个系统化的过程,从基础知识的学习到实战技能的锤炼,再到对前沿技术的探索,每一环节都至关重要。希望这份教程资料能帮助您快速入门并在鸿蒙开发之路上步步攀升,成就一番事业。让我们一起乘风破浪,拥抱鸿蒙生态的广阔未来!

如果你觉得这篇内容对你有帮助,我想麻烦大家动动小手给我:点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。

关注我,同时可以期待后续文章ing,不定期分享原创知识。

想要获取更多完整鸿蒙最新VIP学习资料,请点击→《鸿蒙HarmonyOS分布式项目实战》

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

3、设计模式之工厂模式

工厂模式是什么?     工厂模式是一种创建者模式,用于封装和管理对象的创建,屏蔽了大量的创建细节,根据抽象程度不同,主要分为简单工厂模式、工厂方法模式以及抽象工厂模式。 简单工厂模式 看一个具体的需求 看一个…

计算机网络基础【信息系统监理师】

计算机网络基础【信息系统监理师】 1、OSI七层参考模型2、TCP/IP协议3、网络拓扑结构分类4、网络传输介质分类5、网络交换技术6、网络存储技术7、网络规划技术8、综合布线系统8.1、综合布线工程内容8.1、隐蔽工程-金属线槽安装8.2、隐蔽工程-管道安装槽道与各种管线间的最小净距…

WhatsApp模板信息申请大全:更好地触达WhatsApp客户

按照WhatsApp通话规则,用户主动和我们开始聊天后的24小时内,我们也是可以通过WhatsApp无限次数地与对方进行自定义消息对话,并且只计为一次服务型会话费用。 但是如果超过了24小时,我们还希望可以继续联系对方的话,只…

【ArcGIS】栅格数据进行标准化(归一化)处理

栅格数据进行标准化(归一化)处理 方法1:栅格计算器方法2:模糊分析参考 栅格数据进行标准化(归一化)处理 方法1:栅格计算器 栅格计算器(Raster Calculator) 方法2:模糊分析 空间…

Memcached的重要性,如果防范Memcached DDOS攻击

一、Memcached简要 Memcached是一个开源的、高性能的、分布式内存对象缓存系统。它的主要目的是通过降低对数据库的访问来加速动态Web应用程序。 Memcached的用途非常广泛,它主要用于动态Web应用以减轻数据库负载。通过在内存中缓存数据和对象,Memcach…

原生IP是什么?如何测试代理是不是原生IP?

一、什么是原生IP 原生IP地址是互联网服务提供商(ISP)直接分配给用户的真实IP地址,无需代理或转发。这类IP的注册国家与IP所在服务器的注册地相符。这种IP地址直接与用户的设备或网络关联,不会被任何中间服务器或代理转发或隐藏。…

YOLOv5-Openvino-ByteTrack【CPU】

纯检测如下: YOLOv5-Openvino和ONNXRuntime推理【CPU】 YOLOv6-Openvino和ONNXRuntime推理【CPU】 YOLOv8-Openvino和ONNXRuntime推理【CPU】 YOLOv9-Openvino和ONNXRuntime推理【CPU】 注:YOLOv5和YOLOv6代码内容基本一致! 全部代码Github&…

【MySQL知识体系】第1章 初识 MySQL

文章目录 第1章 初识 MySQL1.1 MySQL 介绍1.1.1 什么是 MySQL?1.1.2 MySQL 的特点?1.1.3 MySQL 默认端口? 1.2 安装 MySQL1.2.1在MacOS上安装MySQL1.2.2 在Windows上安装MySQL 1.3 如何选择 MySQL 客户端1.3.1 在MacOS上安装Workbench1.3.2 在…

【喜报!】科大睿智为企业成功通过CMMI5级评估!

山东智云信息科技有限公司成立于2011年,总部地处泉城济南,一直专注于生态环境信息化领域解决方案的咨询设计、产品研发、项目实施和系统集成类服务,致力于成为固定污染源监管与非现场精准执法领域的领军企业。 山东智云拥有100余名生态环境信…

论文:CLIP(Contrastive Language-Image Pretraining)

Learning Transferable Visual Models From Natural Language Supervision 训练阶段 模型架构分为两部分,图像编码器和文本编码器,图像编码器可以是比如 resnet50,然后文本编码器可以是 transformer。 训练数据是网络社交媒体上搜集的图像…

2024上半年软考中级《电子商务设计师》报名考试全攻略

​2024年软考电子商务设计师考试报名时间节点: 报名时间:上半年3月18日到4月15日,下半年8月19日到9月15日(各地区报名时间不同,具体日期见官方通告) 准考证打印时间:上半年5月20日起&#xff…

二维数组的传递和返回

指针和二维数组 指针存储的是内存单元的地址,当使用引用运算符 *,或者变址运算符 [ ] 时才能将指针所指向的内存单元中的值取出。 指针有两个关键属性: 1.它存储的是内存地址 2.它存储的是什么类型变量的内存地址,这一点非常…

【Ubuntu】原生Ubuntu-dock 栏 安装与卸载

1.查看是否安装 Ubuntu-dock(新版本的Ubuntu自带Ubuntu-dock version> 18.04) gnome-extensions list 2.安装Ubuntu-dock sudo apt install gnome-shell-extension-ubuntu-dock 3.重启,一定要重启!!!…

蓝桥杯真题讲解:填充(贪心)

蓝桥杯真题讲解&#xff1a;填充&#xff08;贪心&#xff09; 一、视频讲解二、正解代码 一、视频讲解 蓝桥杯真题讲解&#xff1a;填充&#xff08;贪心&#xff09; 二、正解代码 //填充&#xff1a;贪心 #include<bits/stdc.h> #define endl \n #define deb(x) c…

Spring Boot Configuration Processor使用

一、功能介绍 spring-boot-configuration-processor的作用就是将自己的配置你自己创建的配置类生成元数据信息&#xff0c;这样就能在你自己的配置文件中显示出来非常的方便。在META-INF目录下生成spring-configuration-metadata.json文件&#xff0c;从而告诉spring这个jar包…

2024年春招程序员个人简历范本(精选5篇|附模板)

HR浏览一份简历也就25秒左右,如果你连「好简历」都没有,怎么能找到好工作呢? 如果你不懂得如何在简历上展示自己,或者觉得怎么改简历都不出彩,那请你一定仔细读完。 Java开发工程师简历范本> 性别 男 年龄 24 学历 本科 张三 专业 计算机科学与技术 毕业院校 …

10 个高质量 AI 助手工具站点,你值得拥有的哦

以下 10 个 AI 助手工具站点&#xff0c;博主已全部验证&#xff0c;小伙伴们可放心使用的哈 说明&#xff1a; 博主倾向使用 1、2、3 这三款&#xff0c;尤其是 1 小程序真的很方便&#xff0c;手机就能操作&#xff0c;你懂的 文章目录 0. sora1. 微信小程序&#xff1a;AI 写…

聚道云软件连接器3月新增应用/产品更新合集

3月更新概要 新增应用&#xff1a; 应用1&#xff1a;华为云welink 应用2&#xff1a;易宝支付 应用3&#xff1a;励销云CRM 应用4&#xff1a;分贝通 应用5&#xff1a;灵当CRM 新增&更新功能 1、【流程】中增加流程树状管理 新增应用 应用1&#xff1a;华为云wel…

【C语言】【时间复杂度】Leetcode 153. 寻找旋转排序数组中的最小值

文章目录 题目时间复杂度概念时间复杂度的计算 解题思路代码呈现 题目 链接: link 时间复杂度 概念 时间复杂度是一种函数&#xff0c;定量地描述了该算法运行的时间。既然是一种函数&#xff0c;就涉及到自变量与因变量。因变量代表是时间复杂的规模&#xff0c;自变量是…

【Python】科研代码学习:二 dataclass,pipeline

【Python】科研代码学习&#xff1a;二 dataclass&#xff0c;pipeline 前言dataclasspipeline 前言 后文需要学习一下 transformers 库&#xff0c;必要时会介绍其他相关的重要库和方法。主要是从源代码、别人的技术文档学习&#xff0c;会更快些。 dataclass Python中的数…