OpenHarmony容器文件—avro

536 篇文章 10 订阅
425 篇文章 3 订阅

简介

本软件是参照开源软件 apache avro 源码适配OpenHarmony实现的数据序列化系统,支持丰富的数据结构,将其转化成便于存储或传输的二进制数据格式。它同时也是一个容器文件,用于存储持久数据。

效果展示:

下载安装

ohpm install @ohos/avro-js

OpenHarmony ohpm 环境配置等更多内容,请参考 如何安装 OpenHarmony ohpm 包

使用说明

示例代码

  1. 在page页面中引入avro
import avro from '@ohos/avro-js'
  1. 使用
let mapType: ESObject = avro.parse({ type: 'map', values: 'long' })
let petMap: petMapType = { key1: 12343, key2: 3445 };
let bufMap: ESObject = mapType.toBuffer(petMap); // Buffer containing 'Hi''s Avro encoding.
let mapSrc: ESObject = mapType.fromBuffer(bufMap); // === 'Hi'
let bufferStr = "";
for (let i = 0; i < bufMap.length; i++) {
   bufferStr = bufferStr + bufMap[i];
}
this.mapTestResult = "MapType:{原始数据:" + JSON.stringify(petMap) + ",序列化后:" + bufferStr + ",还原数据:" + JSON.stringify(mapSrc) + "};";
console.info("----MapType--{original_data:" + JSON.stringify(petMap) + ",serialization:" + bufferStr + ",restore_data:" + JSON.stringify(mapSrc) + "}");

接口说明

  1. avro.parse(schema, opts): 解析schema并返回对应的实例。
  2. type.toBuffer(val): 将给定值编码为二进制缓冲区。
  3. type.fromBuffer(buf, [resolver,] [noCheck]): 从二进制缓冲区创建新的实例。
  4. type.decode(buf, [pos,] [resolver]): 解码二进制缓冲区(Buffer)中的数据到给定的位置和解析器。
  5. type.encode(val, buf, [pos]): 将给定值编码为二进制缓冲区。
  6. type.fromString(str): 从字符串创建新的实例。
  7. type.toString([val]): 将给定值转换为字符串。
  8. type.isValid(val, [opts]): 检查给定值是否是有效值。
  9. type.clone(val, [opts]): 创建给定值的深度复制。
  10. type.compare(val1, val2): 比较两个值的大小。
  11. type.compareBuffers(buf1, buf2): 比较两个二进制缓冲区的大小。
  12. type.random(): 生成一个新的随机值。
  13. type.getName([noRef]): 获取类型的名称。
  14. type.getSchema([noDeref]): 获取类型的模式。
  15. type.getItemsType(): 获取数组或映射的类型。
  16. type.getAliases(): 获取类型的别名。
  17. type.getSize(): 获取类型的大小。
  18. type.getValuesType(): 获取枚举或固定类型的值类型。

约束与限制

在下述版本验证通过:

  • DevEco Studio 版本: 4.1 Canary(4.1.3.317), OpenHarmony SDK:API11 (4.1.0.36)

目录结构

|---- avro  
|     |---- entry  # 示例代码文件夹
|     |---- library  # avro库文件夹
|     |---- README.md  # 安装使用方法                    

如果想更深入的学习 OpenHarmony (鸿蒙南向)全栈开发的内容,可以参考以下学习文档:

OpenHarmony 开发环境搭建:https://qr18.cn/CgxrRy

《OpenHarmony源码解析》:https://qr18.cn/CgxrRy

  • 搭建开发环境
  • Windows 开发环境的搭建
  • Ubuntu 开发环境搭建
  • Linux 与 Windows 之间的文件共享
  • ……

系统架构分析:https://qr18.cn/CgxrRy

  • 构建子系统
  • 启动流程
  • 子系统
  • 分布式任务调度子系统
  • 分布式通信子系统
  • 驱动子系统
  • ……

OpenHarmony 设备开发学习手册:https://qr18.cn/CgxrRy

OpenHarmony面试题(内含参考答案):https://qr18.cn/CgxrRy

写在最后

  • 如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
  • 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
  • 关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。
  • 想要获取更多完整鸿蒙最新学习资源,请移步前往小编:https://gitee.com/MNxiaona/733GH

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值