1# 语言基础类库 2 3### 介绍 4本示例集合语言基础类库的各个子模块,展示了各个模块的基础功能,包含: 5 6- [@ohos.buffer (Buffer)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-buffer.md) 7- [@ohos.convertxml (xml转换JavaScript)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-convertxml.md) 8- [@ohos.process (获取进程相关的信息)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-process.md) 9- [@ohos.taskpool (启动任务池)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-taskpool.md) 10- [@ohos.uri (URI字符串解析)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-uri.md) 11- [@ohos.url (URL字符串解析)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-url.md) 12- [@ohos.util (util工具函数)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-util.md) 13- [@ohos.util.ArrayList (线性容器ArrayList)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-arraylist.md) 14- [@ohos.util.Deque (线性容器Deque)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-deque.md) 15- [@ohos.util.HashMap (非线性容器HashMap)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-hashmap.md) 16- [@ohos.util.HashSet (非线性容器HashSet)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-hashset.md) 17- [@ohos.util.LightWeightMap (非线性容器LightWeightMap)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-lightweightmap.md) 18- [@ohos.util.LightWeightSet (非线性容器LightWeightSet)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-lightweightset.md) 19- [@ohos.util.LinkedList (线性容器LinkedList)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-linkedlist.md) 20- [@ohos.util.List (线性容器List)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-list.md) 21- [@ohos.util.PlainArray (非线性容器PlainArray)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-plainarray.md) 22- [@ohos.util.Queue (线性容器Queue)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-queue.md) 23- [@ohos.util.Stack (线性容器Stack)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-stack.md) 24- [@ohos.util.TreeMap (非线性容器TreeMap)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-treemap.md) 25- [@ohos.util.TreeSet (非线性容器TreeSet)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-treeset.md) 26- [@ohos.util.Vector (线性容器Vector)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-vector.md) 27- [@ohos.xml (xml解析与生成)](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-xml.md) 28 29### 效果预览 30 31| **主页** | **Util** | ConvertXml | 32| :---------------------------------------: | :---------------------------------------: | :--------------------------------------: | 33|  |  |  | 34 35使用说明 36 371. 首页展示语言基础类库各个子模块菜单,点击进入对应的模块页面。 382. 各个子模块界面中点击功能按钮完成各个功能。 393. Util中有二级菜单,点击进入对应的二级界面,包含: 40 * StringCode:字符串编解码,点击功能按钮完成各个功能。 41 * RationnalNumber:有理数比较,点击功能按钮完成各个功能。 42 * LRUCache:LRU缓冲区,点击功能按钮完成各个功能。 43 * ScopeHelper:范围判断,点击功能按钮完成各个功能。 44 * Base64Helper:Base64编解码,点击功能按钮完成各个功能。 45 * TypeCheck:类型检查,点击功能按钮完成各个功能。 464. Process界面中,先安装[ProcessMessage](lib/ProcessMessage-1.0.0.hap),点击按钮跳转,点击功能按钮实现获取进程相关信息的功能。 475. TaskPool界面中,点击Execute task执行任务,点击Cancel task取消任务。 486. ArrayList界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。 497. Deque界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。 508. HashMap界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。 519. HashSet界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。 5210. LightWeightMap界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。 5311. LightWeightSet界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。 5412. LinkedList界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。 5513. List界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。 5614. PlainArray界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。 5715. Queue界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。 5816. Stack界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。 5917. TreeMap界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。 6018. TreeSet界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。 6119. Vector界面中,点击+号添加数据后展示数据,点击删除按钮删除对应的一条数据。 62 63### 工程目录 64 65``` 66LanguageBaseClassLibrary 67├── AppScope 68│ └── app.json5 //APP信息配置文件 69├── entry/src/main //语言基础类库应用首页 70│ ├── ets 71│ │ ├── entryability 72│ │ ├── pages 73│ │ │ ├── Index.ets //主页入口 74│ │ │ ├── AddInformationView.ets //添加联系人页面 75│ │ │ ├── AddKeyValuePairView.ets //添加Key/Value页面 76│ │ │ ├── AddStringView.ets //添加String页面 77│ │ │ ├── compnents 78│ │ │ │ └── Capabilities.ets //根据点击的菜单,展示对应的子界面 79│ └── module.json5 80│ 81├── common/src/main //公共组件及工具类 82│ ├── ets 83│ │ ├── components 84│ │ │ └── CustomDataSource.ets //自定义DataSource,LazyForEach时使用 85│ │ ├── util 86│ │ │ ├── Logger.ets //日志工具类 87│ │ │ └── ResourceUtil.ets //资源管理工具类 88│ └── module.json5 89│ 90├── menuitems/src/main //菜单 91│ ├── ets 92│ │ ├── Index.ets //对外提供的接口列表 93│ │ ├── menulist //菜单组件 94│ │ │ └── MenuList.ets 95│ │ ├── components //菜单相关自定义组件 96│ └── module.json5 97│ 98├── capabilities/src/main //功能集 99│ ├── ets 100│ │ ├── capabilities //各个子模块功能组件 101│ │ ├── components //子模块相关组件 102│ │ │ ├── arraylistcomponents //arraylist相关组件 103│ │ │ ├── dequecomponents //deque相关组件 104│ │ │ ├── hashmapcomponents //hashmap相关组件 105│ │ │ ├── hashsetcomponents //hashset相关组件 106│ │ │ ├── lightweightmapcomponents //lightweightmap相关组件 107│ │ │ ├── lightweightsetcomponents //lightweightset相关组件 108│ │ │ ├── linkedlistcomponents //linkedlist相关组件 109│ │ │ ├── listcomponents //list相关组件 110│ │ │ ├── plainarraycomponents //plainarray相关组件 111│ │ │ ├── queuecomponents //queue相关组件 112│ │ │ ├── stackcomponents //stack相关组件 113│ │ │ ├── treemapcomponents //treemap相关组件 114│ │ │ ├── treesetcomponents //treeset相关组件 115│ │ │ ├── utilcomponents //util相关组件 116│ │ │ ├── vectorcomponents //vector相关组件 117│ │ │ ├── ColumnOperation.ets //展示一列功能按钮的组件 118│ │ │ ├── DeleteView.ets //删除按钮的组件 119│ │ │ ├── GridOperation.ets //根据窗口大小展示不同列的功能按钮的组件 120│ │ │ ├── InformationItemView.ets //联系人Item的组件 121│ │ │ ├── KeyValueItemView.ets //Key/Value Item的组件 122│ │ │ └── ValueItemView.ets //Value Item的组件 123│ │ ├── model //相关数据模型 124│ │ ├── utils //相关工具类 125│ │ └── Constant.ts //EmitterId 126│ └── module.json5 127``` 128 129### 具体实现 130 1311. 首页菜单展示:使用一个module,menuitems完成菜单组件的实现,传入要展示的菜单的strarray类型的资源和菜单点击对应的组件即可。使用Navigation和NavRouter组件实现菜单点击进入功能界面,使用LocalStorage实现应用内Ability内数据共享,点击菜单时标记selectedLabel,在entry中的Capabilities组件中,通过selectedLabel显示对应的功能组件。 1322. Xml & ConvertXml:使用[xml](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-xml.md) 和[convertxml](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-convertxml.md) 实现xml的解析和生成以及xml转换为js对象,点击按钮实现对应的功能。 1333. Process:使用[process](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-process.md) 实现获取进程相关信息的功能,点击按钮实现对应的功能。 1344. TaskPool:使用[taskpool](https://docs.openharmony.cn/pages/v3.2/zh-cn/application-dev/reference/apis/js-apis-taskpool.md/) 实现创建后台任务(Task),并对所创建的任务进行如任务执行、任务取消的操作。 1355. Url:使用[URL](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-url.md) 对URL字符串的查找参数进行了增删改查的一系列操作,使得读者对URL的结构用途更加明了,点击按钮实现对应的功能。 1366. Util,使用util中不同的功能函数实现以下功能: 137 * StringCode:字符串编解码。 138 * RationnalNumber:有理数比较。 139 * LRUCache:LRU缓冲区。 140 * ScopeHelper:范围判断。 141 * Base64Helper:Base64编解码。 142 * TypeCheck:类型检查。 1437. ArrayList:展示线性容器ArrayList的数据类型的使用,包括添加、删除。 1448. Deque:展示线性容器Deque的数据类型的使用,包括头部插入、头部删除、尾部删除。 1459. HashMap:展示非线性容器HashMap的数据类型的使用,包括添加键值对、删除键值对。 14610. HashSet:展示非线性容器HashSet的数据类型的使用,包括添加、删除。 14711. LightWeightMap:展示非线性容器LightWeightMap的数据类型的使用,包括添加键值对、删除键值对。 14812. LightWeightSet:展示非线性容器LightWeightSet的数据类型的使用,包括添加、删除。 14913. LinkedList:展示线性容器LinkedList的数据类型的使用,包括尾部添加、头部删除、尾部删除。 15014. List:展示线性容器List的数据类型的使用,包括添加、删除。 15115. PlainArray:展示非线性容器PlainArray的数据类型的使用,包括添加、删除。 15216. Queue:展示线性容器Queue的数据类型的使用,包括尾部添加、头部删除。 15317. Stack:展示线性容器Stack的数据类型的使用,包括尾部添加、尾部删除。 15418. TreeMap:展示非线性容器TreeMap的数据类型的使用,包括添加键值对、删除键值对。 15519. TreeSet:展示非线性容器TreeSet的数据类型的使用,包括添加、删除。 15620. Vector:展示线性容器Vector的数据类型的使用,包括添加、删除。 157 158### 相关权限 159 160不涉及。 161 162### 依赖 163 164不涉及。 165 166### 约束与限制 167 1681. 本示例仅支持标准系统上运行。 169 1702. 本示例支持API10版本SDK,SDK版本号(API Version 10 Release),镜像版本号(4.0 Release)。 171 1723. 本示例需要使用DevEco Studio 版本号(4.0 Release)及以上版本才可编译运行。 173 174### 下载 175 176如需单独下载本工程,执行如下命令: 177 178``` 179git init 180git config core.sparsecheckout true 181echo code/LaunguageBaseClassLibrary/LanguageBaseClassLibrary/ > .git/info/sparse-checkout 182git remote add origin https://gitee.com/openharmony/applications_app_samples.git 183git pull origin master 184```