HarmonyOS 鸿蒙Next BufferUtil.ets的工具类和resourceManager获取Json文件数据集

发布于 1周前 作者 itying888 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next BufferUtil.ets的工具类和resourceManager获取Json文件数据集

很多时候,如果没有建立后台关系数据库,又想开发一些工具类的小应用需要只读取一些备份好的数据来开发应用,不涉及到写入数据和更新数据的。

1.首先可以把准备好的数据已Json文件的格式存储好,通过鸿蒙应用开发提供的工具转化成字符串类型,如下BufferUtil.ets的工具类方法代码:
import { util } from ‘@kit.ArkTS’;

export function bufferToString(buffer: ArrayBufferLike): string { let textDecoder = util.TextDecoder.create(‘utf-8’, { ignoreBOM: true }); let resultPut = textDecoder.decodeToString(new Uint8Array(buffer), { stream: true }); return resultPut; }

2.然后导入这个工具方法到组件页面,调用这个工具类方法去读取你的JSON文件。当然下面的数据TrafficRuleMenu[]是一个根据Json文件的数据定义好的数据类。
这里涉及到Context的概念和常见使用场景,Context是应用中对象的上下文,其提供了应用的一些基础信息,具体有兴趣可以参考这篇文章 https://mp.weixin.qq.com/s/1fNSkQnJnV4xEnXonbat-g

  getMenuDataFromJSON() {
getContext(this).resourceManager.getRawFileContent(‘MenuData.json’).then(value => {
this.menuList = JSON.parse(bufferToString(value.buffer)) as TrafficRulesMenu[];
})
}


Json文件格式如下面图片所示:
cke_38887.png
根据Json文件里面数据定义好的数据类如下:

export class QuestionsClass {
public id: number
public module: string
public question: string
public image: string
public A: string
public B: string
public correctAnswer: string
public answerExplain: string
public relatedKnowledge: string
public C?: string
public D?: string
public E?: string
public image_A?: string
public image_B?: string
public image_C?: string
public image_D?: string
public image_E?: string
public userAnswer?: string

constructor(id: number, module: string, question: string, image: string, A: string, B: string, correctAnswer: string, answerExplain: string, relatedKnowledge: string, C?: string, D?: string, E?: string, image_A?: string, image_B?: string, image_C?: string, image_D?: string, image_E?: string, userAnswer?:string) { this.id = id; this.module = module; this.question = question; this.image = image; this.A = A; this.B = B; this.C = C; this.D = D; this.E = E; this.correctAnswer = correctAnswer; this.answerExplain = answerExplain; this.relatedKnowledge = relatedKnowledge; this.image_A = image_A; this.image_B = image_B; this.image_C = image_C; this.image_D = image_D; this.image_E = image_E; this.userAnswer = userAnswer }

CheckQuestion(correctAnswer:string,userAnswer:string){ if(correctAnswer == userAnswer) return true; else return false; } }


更多关于HarmonyOS 鸿蒙Next BufferUtil.ets的工具类和resourceManager获取Json文件数据集的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next BufferUtil.ets的工具类和resourceManager获取Json文件数据集的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙系统中,Next BufferUtil.ets 工具类和 resourceManager 是用于处理数据和资源管理的重要组件。针对你提到的 Next BufferUtil.ets 工具类获取数据以及 resourceManager 获取 JSON 文件数据集的问题,以下是简要说明:

Next BufferUtil.ets 工具类主要用于缓冲区操作,虽然具体实现细节未提供,但通常这类工具类会包含对缓冲区数据的读取、写入、转换等功能。如果你需要利用它来处理数据,通常需要先确保数据已正确加载到缓冲区中,然后调用相应的方法进行操作。

resourceManager 是鸿蒙系统中用于访问和管理应用资源的组件。要获取 JSON 文件数据集,你可以通过 resourceManager 提供的 API 来定位并加载 JSON 文件。加载后,你可能需要使用 JSON 解析库来解析文件内容,将其转换为可操作的数据结构(如 Map 或自定义对象)。

具体实现时,你需要查阅鸿蒙系统的官方文档或 API 参考,了解 Next BufferUtil.etsresourceManager 的详细用法及参数。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部