鸿蒙OpenHarmony大合集:【语言基础类库】

news/2024/12/22 20:26:35/

 语言基础类库

介绍

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

  • @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解析与生成)

效果预览

image.png

使用说明

  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的数据类型的使用,包括添加键值对、删除键值对。
  12. LightWeightSet:展示非线性容器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的数据类型的使用,包括添加、删除。

鸿蒙开发岗位需要掌握那些核心要领?

目前还有很多小伙伴不知道要学习哪些鸿蒙技术?不知道重点掌握哪些?为了避免学习时频繁踩坑,最终浪费大量时间的。

自己学习时必须要有一份实用的鸿蒙(Harmony NEXT)资料非常有必要。 这里我推荐,根据鸿蒙开发官网梳理与华为内部人员的分享总结出的开发文档。内容包含了:【ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战】等技术知识点。

废话就不多说了,接下来好好看下这份资料。

如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习鸿蒙OpenHarmony知识←前往。下面是鸿蒙开发的学习路线图。

针对鸿蒙成长路线打造的鸿蒙学习文档。鸿蒙OpenHarmony )学习手册(共计1236页)与鸿蒙OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。

其中内容包含:

鸿蒙开发基础》鸿蒙OpenHarmony知识←前往

  1. ArkTS语言
  2. 安装DevEco Studio
  3. 运用你的第一个ArkTS应用
  4. ArkUI声明式UI开发
  5. .……

鸿蒙开发进阶》鸿蒙OpenHarmony知识←前往

  1. Stage模型入门
  2. 网络管理
  3. 数据管理
  4. 电话服务
  5. 分布式应用开发
  6. 通知与窗口管理
  7. 多媒体技术
  8. 安全技能
  9. 任务管理
  10. WebGL
  11. 国际化开发
  12. 应用测试
  13. DFX面向未来设计
  14. 鸿蒙系统>鸿蒙系统移植和裁剪定制
  15. ……

鸿蒙开发实战》鸿蒙OpenHarmony知识←前往

  1. ArkTS实践
  2. UIAbility应用
  3. 网络案例
  4. ……

最后

鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!


http://www.ppmy.cn/news/1444731.html

相关文章

达梦(DM) SQL聚集函数及日期运算操作

达梦DM SQL聚集函数及日期运算操作 聚集函数MAX、MIN、SUM、AVG、COUNT使用分析函数 sum (…) over (order by…) 可以生成累计和更改累计和的值计算出现次数最多的值 日期运算加减日、月、年加减时、分、秒日期间隔之时、分、秒日期间隔之日、月、年求两个日期间的工作天数确定…

Rust的Vec<T>

Vec<T> 是 Rust 编程语言中用于表示动态大小的数组的数据结构。它提供了类似其他语言中动态数组&#xff08;如 C 的 std::vector 或 Python 的 list&#xff09;的功能&#xff0c;允许在运行时高效地添加、删除或修改元素&#xff0c;同时确保内存的有效管理。Vec<T…

煤矿综合自动化智能监控系统

系统概述 建设煤矿井上下工业环网、工业数据集成平台、排水、供电、运输、通风、压风、瓦斯抽放、采掘、智能洗煤厂等智能自动化控制系统&#xff0c;利用多种软硬件接口(OPC协议、驱动通讯、数据库、文本文件、DDE/NETDDE、子网等)&#xff0c;构建全矿井统一、稳定、高效的数…

Vuforia AR篇(三)— AR模型出场效果

目录 前言一、AR模型出场二、AR出场特效三、添加过渡效果四、效果 前言 在这个数字化日益增长的时代&#xff0c;增强现实&#xff08;AR&#xff09;技术正以前所未有的速度发展。AR模型&#xff0c;作为这一技术的核心组成部分&#xff0c;不仅改变了我们与数字世界的互动方…

Web3与智能合约:科技革新下的新金融时代

在当今数字化时代&#xff0c;Web3和智能合约正在共同塑造着金融领域的未来。Web3作为下一代互联网的重要组成部分&#xff0c;以其去中心化、安全性和透明性为核心特点&#xff0c;正推动着金融行业向着数字化和去中心化的方向发展。而智能合约作为Web3技术的关键应用之一&…

二叉树遍历递归法迭代法实现

一.递归法实现二叉树遍历 前序遍历 创建一个节点类 属性是val,左节点&#xff0c;右节点 public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val x; } } 前序遍历 class Solution {public List<Integer> preorderTraversa…

网络层 --- IP协议

目录 1. 前置性认识 2. IP协议 3. IP协议头格式 3.1. 4位版本 3.2. 4位首部长度 3.3. 8位服务类型 3.4. 16位总长度 3.5. 8位生存时间 TTL 3.6. 8位协议 3.7. 16位首部检验和 3.8. 32位源IP和32位目的IP 4. 分片问题 4.1. 为什么要分片 4.2. 分片是什么 4.2.1. …

docker学习笔记4:CentOS7安装docker

文章目录 一、安装docker二、配置阿里云加速三、测试镜像安装本篇博客介绍如何在centos7里安装docker,关于CentOS7的安装可以查看本专栏的这篇博客: VmWare CentOS7安装与静态ip配置 centos7里安装docker步骤如下: 一、安装docker 先在终端输入su进入root用户,输入如下命…