回复
OpenHarmony——轻量级数据存储 原创 精华
深开鸿
发布于 2022-3-31 14:12
浏览
1收藏
作者:刘晓东
一、轻量级数据存储的版本
openharmony的轻量级数据存储现有两个版本,但是harmonyOS的官网上只有一个轻量级数据存储。
导入模块 | API version开始支持版本 | 是否维护 |
---|---|---|
import dataStorage from ‘@ohos.data.storage’ | 6 | 从API Version 9开始不再维护 |
import data_Preferences from ‘@ohos.data.preferences’ | 9 | 维护 |
二、应用目录的获取
数据存储需要获取到应用的存放目录,便于新建存储数据的文件。
获取应用内部存储目录
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
callback | AsyncCallback<string> | 是 | 返回内部存储器上此应用程序的文件目录。 |
import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getFilesDir();
context.getFilesDir((err, data) => {
if (err) {
console.error('Operation failed. Cause: ' + JSON.stringify(err));
return;
}
console.info('Operation successful. Data:' + JSON.stringify(data));
});
获取应用内部存储的缓存目录
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
callback | AsyncCallback<string> | 是 | 返回该应用程序的内部存储目录。 |
import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getCacheDir();
context.getCacheDir((err, data) => {
if (err) {
console.error('Operation failed. Cause: ' + JSON.stringify(err));
return;
}
console.info('Operation successful. Data:' + JSON.stringify(data));
});
三、数据的写入和读取
-
读取指定文件,将数据加载到Preferences实例,用于数据操作
参数名 类型 必填 说明 path string 是 应用程序内部数据存储路径。 import dataStorage from '@ohos.data.storage' let storage = dataStorage.getStorageSync(path + '/mystore') // storage 提供获取和修改存储数据的接口。 // 注意事项 // 1. path路径在设备中必须是存在的,如果不存在会报: InternalError: code: (null), message: assertion (preference != nullptr) failed: failed to call native // 2. /mystore可以不存在,当其不存在时storage返回的也是一个对象
-
获取键对应的值(获取数据get)
参数名 类型 必填 说明 key string 是 要获取的存储key名称。它不能为空。 defValue ValueType 是 给定key的存储不存在,则要返回的默认值。支持number、string、boolean。 let value = storage.getSync('startup', 'default')
-
写入数据(put)
参数名 类型 必填 说明 key string 是 要修改的存储的key。它不能为空。 value ValueType 是 存储的新值。支持number、string、boolean。 storage.putSync('startup', 'auto') // 写入value值不为number、string或boolean时,调用读取该key的值时,返回的是读取时给定的默认值 storage.flushSync() // 配合写入数据使用,当写入数据的文件不存在时,flushSync会自动创建该文件
-
删除指定键(delete)
参数名 类型 必填 说明 key string 是 要获取的存储key名称。它不能为空。 storage.deleteSync('startup')
-
检查指定键是否存在(has)
参数名 类型 必填 说明 key string 是 要获取的存储key名称。它不能为空。 let isExist = storage.hasSync('startup')
-
清除此存储对象中的所有存储
storage.clearSync()
更多原创内容请关注:深开鸿技术团队
入门到精通、技巧到案例,系统化分享HarmonyOS开发技术,欢迎投稿和订阅,让我们一起携手前行共建鸿蒙生态。
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
已于2022-3-31 14:12:15修改
赞
2
收藏 1
回复
相关推荐