鸿蒙:PrefereneceUtil

news/2024/7/21 12:15:09 标签: harmonyos

 1、初始化

在EntryAbility.ets中初始化

export default class EntryAbility extends UIAbility {
  async onCreate(want, launchParam) {
    // 1.加载用户首选项
    PreferenceUtil.loadPreference(this.context)
    

    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
  }
}

2、使用

 // 1.保存首选项
PreferenceUtil.putPreferenceValue(PREF_KEY, true)



// 2.加载首选项
let isAgree = await PreferenceUtil.getPreferenceValue(PREF_KEY, false)

附: 

class PreferenceUtil{
  private pref: preferences.Preferences

  async loadPreference(context){
    try { // 加载preferences
      this.pref = await preferences.getPreferences(context, CommonConstants.H_STORE)
      Logger.debug(`加载Preferences[${CommonConstants.H_STORE}]成功`)
    } catch (e) {
      Logger.debug(`加载Preferences[${CommonConstants.H_STORE}]失败`, JSON.stringify(e))
    }
  }

  async putPreferenceValue(key: string, value: preferences.ValueType){
    if (!this.pref) {
      Logger.debug(`Preferences[${CommonConstants.H_STORE}]尚未初始化!`)
      return
    }
    try {
      // 写入数据
      await this.pref.put(key, value)
      // 刷盘
      await this.pref.flush()
      Logger.debug(`保存Preferences[${key} = ${value}]成功`)
    } catch (e) {
      Logger.debug(`保存Preferences[${key} = ${value}]失败`, JSON.stringify(e))
    }
  }

  async getPreferenceValue(key: string, defaultValue: preferences.ValueType){
    if (!this.pref) {
      Logger.debug(`Preferences[${CommonConstants.H_STORE}]尚未初始化!`)
      return
    }
    try {
      // 读数据
      let value = await this.pref.get(key, defaultValue)
      Logger.debug(`读取Preferences[${key} = ${value}]成功`)
      return value
    } catch (e) {
      Logger.debug(`读取Preferences[${key}]失败`, JSON.stringify(e))
    }
  }
}

const preferenceUtil = new PreferenceUtil()

export default preferenceUtil as PreferenceUtil


http://www.niftyadmin.cn/n/5446106.html

相关文章

C语言学习--八种排序算法

目录 排序的概念 1.直接插入排序 基本思想 代码实现 算法分析 2.希尔排序 基本思想 代码实现 算法分析 3.冒泡排序 基本思想 代码实现 算法分析 4.快速排序 基本思想 代码实现 算法分析 5.简单选择排序 基本思想 代码实现 算法分析 6.堆排序 基本思想 代…

阿里云OSS分布式存储

目录 🧂1.OSS开通 🌭2.头像上传整合OSS 🚍2.1.引入依赖 🚍2.2添加配置 🚍2.3创建配置类 🚍2.4添加实现类 🚍2.5controller调用接口 🚍2.6postman测试 1.OSS开通 1.登…

真机笔记(2)项目分析

目录 1. 项目: 2. 网络工程师工作流程 3. 实验 设备命名 登录密码 使用SSH协议 1. 项目: 竞标方:集成商、厂商、代理商、服务商、监理检测公司 在一个网络项目中,不同的角色承担着不同的职责和任务。以下是集成商、厂商、代…

流畅的 Python 第二版(GPT 重译)(八)

第十五章:关于类型提示的更多内容 我学到了一个痛苦的教训,对于小程序来说,动态类型很棒。对于大型程序,你需要更加纪律严明的方法。如果语言给予你这种纪律,而不是告诉你“嗯,你可以做任何你想做的事情”&…

DashScope - 阿里模型服务灵积

文章目录 关于 DashScope快速上手代码调用http 请求示例Python 调用 关于 DashScope 官方主页:https://dashscope.aliyun.comPYPI : https://pypi.org/project/dashscope/支持模型:https://dashscope.console.aliyun.com/model DashScope灵积模型服务建…

MySQL慢查优化 循环/嵌套子查询(DEPENDENT SUBQUERY)

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 虽然 MySQL5.6 引入…

SID History域后门及检测思路分析

一、SID及SID History 1、SID定义: 在Windows中,每个用户都有自己的SID。SID的作用主要是跟踪安全主体控制用户连接资源时的访问权限。 2、SID History定义: 如果将A域中的域用户迁移到B域中,那么在B域中该用户的SID会随之改变&…

通俗易懂—卷积神经网络进行数字识别的过程

数字识别是指通过计算机程序识别手写数字的过程。在深度学习领域,常用的模型之一是卷积神经网络(Convolutional Neural Network,CNN),它被广泛应用于数字识别任务。下面我将用通俗易懂的语言介绍数字识别过程中各个层的…