鸿蒙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 条)