• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-3633

common/06-May-2025-722649

entry/06-May-2025-3,6923,492

feature/06-May-2025-6,7126,221

hvigor/06-May-2025-88

lib/06-May-2025-

screenshots/devices/06-May-2025-

.gitignoreD06-May-2025123 1010

README_zh.mdD06-May-202514.4 KiB184163

build-profile.json5D06-May-20251.3 KiB5554

hvigorfile.tsD06-May-2025768 161

hvigorwD06-May-20252.1 KiB6228

hvigorw.batD06-May-20252.1 KiB7960

oh-package.json5D06-May-2025832 2725

ohosTest.mdD06-May-202530.4 KiB152150

README_zh.md

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|    ![home](screenshots/devices/home.jpg)    | ![util](screenshots/devices/util.jpg) | ![convertxml](screenshots/devices/convertxml.jpg) |
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
8081├── common/src/main                             //公共组件及工具类
82│   ├── ets
83│   │   ├── components
84│   │   │   └── CustomDataSource.ets            //自定义DataSource,LazyForEach时使用
85│   │   ├── util
86│   │   │   ├── Logger.ets                      //日志工具类
87│   │   │   └── ResourceUtil.ets                //资源管理工具类
88│   └── module.json5
8990├── menuitems/src/main                          //菜单
91│   ├── ets
92│   │   ├── Index.ets                           //对外提供的接口列表
93│   │   ├── menulist                            //菜单组件
94│   │   │    └── MenuList.ets
95│   │   ├── components                          //菜单相关自定义组件
96│   └── module.json5
9798├── 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```