当前位置:网站首页>【Harmony OS】【ARK UI】轻量级数据存储
【Harmony OS】【ARK UI】轻量级数据存储
2022-08-03 04:21:00 【华为开发者论坛】
1、轻量级数据存储概述
1.1 轻量级数据存储适用于对Key-Value结构的数据进行存取和持久化操作。应用获取某个轻量级存储对象后,该存储对象中的数据将会被缓存在内存中,以便应用获得更快的数据存取速度。应用也可以将缓存的数据再次写回文本文件中进行持久化存储,由于文件读写将产生不可避免的系统资源开销,建议应用减少对持久化文件的读写频率。
参考网址:
文档中心
2、使用场景
2.1 轻量级数据存储功能通常用于保存应用的一些常用配置信息,并不适合需要存储大量数据和频繁改变数据的场景。应用的数据保存在文件中,这些文件可以持久化地存储在设备上。需要注意的是,应用访问的实例包含文件所有数据,这些数据会一直加载在设备的内存中,直到应用主动从内存中将其移除前,应用可以通过Preferences的API进行数据操作。
轻量级存储为应用提供key-value键值型的文件数据处理能力,支持应用对数据进行轻量级存储及查询。数据存储形式为键值对,键的类型为字符串型,值的存储数据类型包括数字型、字符型、布尔型。
3、代码实现
import dataStorage from '@ohos.data.storage'
import ability_featureAbility from '@ohos.ability.featureAbility'
@Entry
@Component
struct MyStorage {
@State path: string= "";
public PushData() {
var that = this;
var context = ability_featureAbility.getContext();
context.getFilesDir()
.then((data) => {
that.path = data;
let storage = dataStorage.getStorageSync(that.path + '/mystore')
storage.putSync('startup', 'auto')
storage.flushSync()
console.log("flushSync成功")
}).catch((error) => {
console.log('Failed to obtain the file directory. Cause: ' + error.message);
})
}
public ReadData() {
let storage = dataStorage.getStorageSync(this.path + '/mystore')
let promise = storage.get('startup', 'default')
promise.then((value) => {
console.log("值为 " + value)
}).catch((err) => {
console.log("Get the value of startup failed with err: " + err)
})
}
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Text('存储数据')
.fontSize(50)
.fontWeight(FontWeight.Bold)
.onClick(this.PushData.bind(this))
Text('读取数据')
.fontSize(50)
.fontWeight(FontWeight.Bold)
.onClick(this.ReadData.bind(this))
}
.width('100%')
.height('100%')
}
}4.运行效果

| 欲了解更多更全技术文章,欢迎访问:https://developer.huawei.com/consumer/cn/forum/topic/0201817218957430007?fid=0102683795438680754?ha_source=zzh |
边栏推荐
- ScanNet数据集讲解与点云数据下载
- DC-6靶场下载及渗透实战详细过程(DC靶场系列)
- t conditional judgment statement and if loop
- 工程水文学试题库
- redis键值出现 xacxedx00x05tx00&的解决方法
- Smart fitness gesture recognition: PP - TinyPose build AI virtual trainer!
- UV 裂解的生物素-PEG2-叠氮|CAS:1192802-98-4生物素接头
- 肖sir___面试就业课程____性能测试
- 钢铁电商行业方案:钢铁工业产品全生命周期管理解决方案
- 2022河南萌新联赛第(四)场:郑州轻工业大学 E - 睡大觉
猜你喜欢

寄存器(内存访问)

普乐蛙VR台风体验馆厂家VR防震减灾模拟VR沉浸式体验设备

瑞鹄转债上市价格预测

电子设备行业智能供应链系统:打破传统供应链壁垒,提升电子设备企业管理效能

C# WPF设备监控软件(经典)-上篇

修饰生物素DIAZO-生物素-PEG3-DBCO|重氮-生物素-三聚乙二醇-二苯基环辛炔

Can Oracle EMCC be installed independently?Or does it have to be installed on the database server?

IO进程线程->线程->day5

钢铁电商行业方案:钢铁工业产品全生命周期管理解决方案

Shenzhen Offline Registration|StarRocks on AWS: How to conduct rapid and unified analysis of real-time data warehouses
随机推荐
2022 the first of the new league henan (4) : zhengzhou university of light industry G - maze
汇编题答案
数字化时代,企业如何建立自身的云平台与商业模式的选择?
LeetCode算法日记:面试题 03.04. 化栈为队
v-text指令:设置标签内容
7.Keras开发简介
MediaRecorder录制屏幕时在部分机型上报错prepare failed:-22
深圳线下报名|StarRocks on AWS:如何对实时数仓进行极速统一分析
MySQL 删除表数据,重置自增 id 为 0 的两个方式
电子设备行业智能供应链系统:打破传统供应链壁垒,提升电子设备企业管理效能
mysql bool盲注
t conditional judgment statement and if loop
【生物素叠氮化物|cas:908007-17-0】价格_厂家
在竞争白热化的电商行业,链动2+1为什么还有企业在用
v-on指令:为元素绑定事件
vscode access denied to unins000.exe
Redis连接不上的报错解决方案汇总
数商云供应链集成系统开发方案:多行业集成平台管理自动化
DOM破环和两个实验的复现
荧光标记多肽FITC/AMC/FAM/Rhodamine/TAMRA/Cy3/Cy5/Cy7-Peptide