OpenHarmony教程—语言基础类库

news2024/12/27 15:18:09

介绍

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

  • @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

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

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

领取以下高清学习路线原图请点击→《鸿蒙HarmonyOS分布式项目实战》纯血鸿蒙HarmonyOS基础技能学习路线图

在这里插入图片描述
 

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

在这里插入图片描述

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

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

在这里插入图片描述

最后

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

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

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

想要获取更多完整鸿蒙最新VIP学习资料,请点击→《鸿蒙 (Harmony OS)开发学习手册》

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

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

相关文章

高项--价值驱动的项目管理知识体系

说要参加软考已经过去两周了,到现在也没啥成果,今天决定还是动手记录小一些东西吧,也方便下次打开手机的时候可以查看记忆。总体上看可以分为三个部分:信息技术、项目管理、法律法规,而项目管理里面最终要的就是这个项…

R语言扩展包与MaxEnt模型的集成:实现高效的物种分布模拟

在生态学研究中,物种分布模拟是一项至关重要的任务。它有助于我们理解物种与环境之间的复杂关系,预测物种在气候变化或人类活动影响下的潜在分布变化。近年来,随着计算机技术的不断发展,基于机器学习的物种分布模拟方法逐渐成为研…

EasyExcel导出自定义表格

谈到新技术,每个人都会有点恐惧,怕处理不好。确实,第一次使用新技术会遇到很多坑,这次使用 EasyExcel 这个新技术去做 excel 导出,还要给表格加样式,遇到不同的版本问题,遇到颜色加错了地方&…

【Echarts】柱状图上方显示数字以及自定义值,标题和副标题居中,鼠标上显示信息以及自定义信息

欢迎来到《小5讲堂》 大家好,我是全栈小5。 这是《前端》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握…

四川宏博蓬达法律咨询有限公司:专业可靠,您身边的法律守护者

在现代社会,法律咨询服务的需求日益增长,选择一家专业可靠的法律咨询公司成为了许多企业和个人的当务之急。四川宏博蓬达法律咨询有限公司便是这样一个值得信赖的法律服务提供者,以其专业、高效、贴心的服务,赢得了广大客户的信赖…

什么是Redis的数据分片?

Redis的数据分片(sharding)是一种将一个Redis数据集分割成多个部分,分别存诸在不同的Redis节点上的技术。它可以用于将一个单独的Redis数据库扩展到多个物理机器上,从而提高Redis集群的性能和可扩展性 Redis数据分片的实现方式通常是将数据按照某种规则(…

指令调用模板

也就是这边指令通过id和map会定位到一个结构体,然后这个结构再赋值两个成员,一个是函数一个是指令类型,然后这个函数是模板的实例化 使用的时候就传进去,这只是参数,最开始初始化的时候模板就已经实例化了。然后关于模…

Linux-网络编程报错分析

1【UDP】通信 【No route to host】:没有连接主机的路由 原因分析: 1.没有配置好默认网关地址,计算机上的路由表找不到到目标ip的路由。 解决方法:检查网络配置 2. 解决方法: 3. 解决方法:

Flink 性能优化总结(内存配置篇)

内存配置优化 Flink 内存模型 内存模型详解 进程内存(Total Process Memory):Flink 进程内存分为堆上内存和堆外内存,堆上内存和 堆外内存的主要区别在于它们的管理方式不同和使用方式不同,这些会影响到它们的性能和…

uniapp引入jQuery

安装 npm install jquery --saveoryarn add jquery引入 import Vue from vue import jquery from "jquery"; Vue.prototype.$ jquery;<template><view>abc</view> </template><script>export default {data() {return {}}} </scr…

冒泡排序的理解与实现【C语言、C++、java】

冒泡排序介绍 冒泡排序(Bubble Sort)&#xff0c;又被称为气泡排序或泡沫排序。 它是一种较简单的排序算法。它会遍历若干次要排序的数列&#xff0c;每次遍历时&#xff0c;它都会从前往后依次的比较相邻两个数的大小&#xff1b;如果前者比后者大&#xff0c;则交换它们的位…

【生成式AI導論 2024】第4講:訓練不了人工智慧?你可以訓練你自己 (中) — 拆解問題與使用工具

文章目录 我的总结 拆解任务让语言模型检查自己的错误为什么同一个问题每次答案都不同&#xff1f;组合拳使用工具使用工具-搜索引擎-RAG使用工具-文字生图AIGPT4 其他插件 from: https://www.youtube.com/watch?vlwe3_x50_uw 我的总结 复杂任务拆解为多个步骤让模型检查自己…

微服务配置中心

什么是配置中心 配置中心是一种用于管理应用程序或系统配置信息的中央服务。它允许开发人员在多个环境&#xff08;如开发、测试、生产&#xff09;之间共享配置&#xff0c;并且可以在不停止应用程序的情况下动态更新配置。 配置中心是统一管理各种应用配置的工具。它能够集中…

蓝桥杯真题讲解:异或和之和 (拆位、贡献法)

蓝桥杯真题讲解&#xff1a;异或和之和 &#xff08;拆位、贡献法&#xff09; 一、视频讲解二、正解代码 一、视频讲解 蓝桥杯真题讲解&#xff1a;异或和之和 &#xff08;拆位、贡献法&#xff09; 二、正解代码 //拆位考虑 #include<bits/stdc.h> #define endl &…

教你怎么写苹果群控系统!

在数字化时代&#xff0c;随着智能手机的普及和iOS系统的广泛应用&#xff0c;苹果设备的管理和控制变得日益重要&#xff0c;为了满足这一需求&#xff0c;苹果群控系统应运而生。 一、系统概述 苹果群控系统是一种能够对多台苹果设备进行集中管理和控制的软件系统。通过该系…

从GPT入门,到R语言基础与作图、回归模型分析、混合效应模型、多元统计分析及结构方程模型、Meta分析、随机森林模型及贝叶斯回归分析综合应用等专题及实战案例

目录 专题一 GPT及大语言模型简介及使用入门 专题二 GPT与R语言基础与作图&#xff08;ggplot2&#xff09; 专题三 GPT与R语言回归模型&#xff08;lm&glm&#xff09; 专题四 GPT与混合效应模型&#xff08;lmm&glmm&#xff09; 专题五 GPT与多元统计分析&…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:NavDestination)

作为子页面的根容器&#xff0c;用于显示Navigation的内容区。 说明&#xff1a; 该组件从API Version 9开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 该组件从API Version 11开始默认支持安全区避让特性(默认值为&#xff1a;expandSaf…

【STM32】串口助手接受数据是乱码如何解决

第一步 首先判断自己使用的串口助手和工程配置的波特率是否相同&#xff0c;一般都是115200 第二步 如果不是上一条的问题&#xff0c;继续排查&#xff0c;检查时钟问题 打开工程&#xff0c;找到此文件(stm32f10x.h)的这个位置&#xff0c;如工程中未添加&#xff0c;可以从…

【组合递归回溯】【removeLast】Leetcode 39. 组合总和

【组合递归回溯】【removeLast】Leetcode 39. 组合总和 解法1 ---------------&#x1f388;&#x1f388;题目链接&#x1f388;&#x1f388;------------------- 解法1 如果是一个集合来求组合的话&#xff0c;就需要startIndex 例如&#xff1a;77.组合 (opens new windo…

python——By.XPATH

一、大部分元素没有id、name唯一标识&#xff0c;此时就需要通过xpath from selenuim import webdriver from selenuim.webdriver.common.by import Bydriver webdriver.Chrome() driver.maximize_window() driver.get(http://xxx) time.sleep(3)# 通过By.XPATH找到唯一页面元…