赞
踩
关于鸿蒙开发的本地数据存储有很多种方案,往期文章中分享过数据库的用法。但是不是所有的数据存储都需要用到数据库,简单的数据使用数据库存储只会事倍功半。所以今天和大家分享另一种数据存储方案-用户首选项(Preferences)。
Preferences采用Key-Value的形式将数据缓存在内存中,也可以使用flush接口将数据持久化保存。不过Preferences不宜保存大量数据,否则会占用大量内存。
1、导入Preferences模块
import dataPreferences from '@ohos.data.preferences';
2、获取Preferences实例
let preferences: dataPreferences.Preferences | null = null;
try {
dataPreferences.getPreferences(getContext(), 'mystore', (err, preferences) => {
if (err) {
console.error(`Failed to get preferences. Code:${err.code},message:${err.message}`);
return;
}
console.info('Succeeded in getting preferences.');
})
} catch (err) {
console.error(`Failed to get preferences. Code:${err.code},message:${err.message}`);
}
3、写入数据
preferences.put('score', '100', (err) => {
if (err) {
console.error(`Failed to put the value of 'startup'. Code:${err.code},message:${err.message}`);
return;
}
console.info("Succeeded in putting the value of 'startup'.");
})
要注意,此时虽然put成功了,但是只是将数据缓存在内存中,要将数据持久化保存需要在写入的回调中调用flush接口:
if (preferences !== null) {
preferences.flush((err) => {
if (err) {
console.error(`Failed to flush. Code:${err.code}, message:${err.message}`);
return;
}
console.info('Succeeded in flushing.');
})
}
如果你使用模拟器,要在菜单->run->Edit Configurations窗口下勾选Keep Application Data。
4、读取数据
if(preferences.has('score')){
try {
preferences.get('score', 'default', (err, val) => {
if (err) {
console.error(`Failed to get value of 'startup'. Code:${err.code}, message:${err.message}`);
return;
}
console.info(`Succeeded in getting value of 'startup'. val: ${val}.`);
})
} catch (err) {
console.error(`Failed to get value of 'startup'. Code:${err.code}, message:${err.message}`);
}
}
https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.基本概念
2.构建第一个ArkTS应用
3.……
https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.应用基础知识
2.配置文件
3.应用数据管理
4.应用安全管理
5.应用隐私保护
6.三方应用调用管控机制
7.资源分类与访问
8.学习ArkTS语言
9.……
https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.Ability开发
2.UI开发
3.公共事件与通知
4.窗口管理
5.媒体
6.安全
7.网络与链接
8.电话服务
9.数据管理
10.后台任务(Background Task)管理
11.设备管理
12.设备使用信息统计
13.DFX
14.国际化开发
15.折叠屏系列
16.……
https://docs.qq.com/doc/DZVVkRGRUd3pHSnFG
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。