
##HarmonyOS Next快速入门##HarmonyOS应用开发##教育##
适用的场景:为应用保存用户的个性化设置(字体大小,是否开启夜间模式)和个性化信息(用户名,登录有效期)等。
约束限制
运作机制:
接口说明:
getPreferencesSync(context: Context, options: Options): Preferences//获取Preferences实例。该接口存在异步接口。
putSync(key: string, value: ValueType): void//将数据写入Preferences实例,可通过flush将Preferences实例持久化。该接口存在异步接口。
hasSync(key: string): boolean//检查Preferences实例是否包含名为给定Key的存储键值对。给定的Key值不能为空。该接口存在异步接口。
getSync(key: string, defValue: ValueType): ValueType//获取键对应的值,如果值为null或者非默认值类型,返回默认数据defValue。该接口存在异步接口。
deleteSync(key: string): void//从Preferences实例中删除名为给定Key的存储键值对。该接口存在异步接口。
flush(callback: AsyncCallback<void>): void//将当前Preferences实例的数据异步存储到用户首选项持久化文件中。代码示例
PreferencesUtil
export class PreferencesUtil {
static getPreferences(context?: Context, preferencesFileName = "MyPreferences") {
context = context || getContext()
let options: preferences.Options = { name: preferencesFileName }
return preferences.getPreferencesSync(context, options);
}
static async setData(key: string, value: string, context?: Context) {
const store = PreferencesUtil.getPreferences(context);
store.putSync(key, value)
await store.flush()
}
static getData(key: string, context?: Context) {
const store = PreferencesUtil.getPreferences(context);
return store.getSync(key, "") as string
}
}使用方式
const list = PreferencesUtil.getData("beautyList");
PreferencesUtil.setData("beautyList", JSON.stringify(this.data.getAllData()));原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。