鸿蒙(HarmonyOS)应用开发——保存应用数据
2023-12-13 14:33:11
保存应用数据
harmonyOS系统提供了四种数据存储方式
首选项
适用于对key-value结构的数据进行存取和持久化操作。
特点
- key-value 数据接口
Key是不重复的关键字,Value是数据值 - 非关系型数据库
不保证遵循ACID(Atomicity, Consistency, Isolation 以及Durability) 特性
注意点
- 因首选项实例会加载到内存中,建议存储到数据不超过一万条
- 数据中的key为string类型,要求非空且自负长度不超过80个字节
- 当数据中的value为string类型时,运行为空,字符长度不超过8192
使用
导入preference模块
import dataPreferences from '@ohos.data.preferences';
const PREFERENCES_NAME = 'myPreferences'; // 数据库表名字
const KEY_APP_FONT_SIZE = 'appFontSize'; // 首选项Key
获取preference实例
globalThis.getFontPreferences = (() => {
// 获取首选项实例
let preferences: Promise<dataPreferences.Preferences> = dataPreferences.getPreferences(context, PREFERENCES_NAME);
return preferences;
});
保存数据
await preferences.put(KEY_APP_FONT_SIZE, fontSize);
preferences.flush();
获取数据
let fontSize: number = 0;
const preferences = await globalThis.getFontPreferences();
fontSize = await preferences.get(KEY_APP_FONT_SIZE, fontSize);
是否包含指定的key
preferences.has(KEY_APP_FONT_SIZE).then(async (isExist) => {
Logger.info(TAG, 'preferences has changeFontSize is ' + isExist);
}).catch((err) => {
Logger.error(TAG, 'Has the value failed with err: ' + err);
});
数据持久化
通过flush方法把应用数据保存到文件中,使得应用数据保存期限变长
preferences.flush();
文章来源:https://blog.csdn.net/weixin_46282323/article/details/134905531
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!