鸿蒙Next开发日记 Day06 - 使用preferences持久化存储数据
用户首选项(Preferences):通常用于保存应用的配置信息。数据通过文本的形式保存在设备中,应用使用过程中会将文本中的数据全量加载到内存中,所以访问速度快、效率高,但不适合需要存储大量数据的场景。
官方对于preferences的定义,是用来存放一些应用的配置信息的,如果存放复杂数据,推荐还是使用键值型数据库(KV-Store)或者关系型数据库(RelationalStore)。
下面是一个简单的工具的实现。
import { preferences, ValueType } from '@kit.ArkData';
import { BusinessError } from '@ohos.base';
export class PreferencesManager {
dataPreferences: preferences.Preferences | null = null;
constructor(context: Context) {
let options: preferences.Options = { name: '你的存储命名' };
this.dataPreferences = preferences.getPreferencesSync(context, options);
}
// 是否已存在对应的Key
has(key: string) {
return this.dataPreferences?.hasSync(key)
}
// 存入一个数据
put(key: string, value: ValueType) {
this.dataPreferences?.putSync(key, value)
}
// 获取数据
get(key: string, defaultValue: ValueType) {
return this.dataPreferences?.getSync(key, defaultValue)
}
// 删除一个key
delete(key: string) {
this.dataPreferences?.deleteSync(key)
}
// 把数据持久化
flush() {
this.dataPreferences?.flush((err: BusinessError) => {
if (err) {
console.error(`Failed to flush. Code:${err.code}, message:${err.message}`);
return;
}
console.info('Succeeded in flushing.');
})
}
}这里需要有地方需要注意,只有当你调用了flush后才会把数据持久化存储。
<< 上一篇
下一篇 >>
网友留言(3 条)