鸿蒙系列--数据管理

一、首选项

1.概述

        首选项为应用提供Key-Value键值型的数据存储能力,支持应用持久化轻量级数据,并对其进行增删改查等

        该存储对象中的数据会被缓存在内存中,有更快的存取速度

2.特点

  • 以Key-Value形式存储数据

        Key是不重复的关键字,Value是数据值

  • 非关系型数据库

        区别于关系型数据库,它不保证遵循ACID,数据之间无关系

  • 因Preferences实例会加载到内存中,建议存储的数据不超过一万条

  • 数据中的Key为string类型,要求非空且字符长度不超过80个字节

  • 当数据中的Value为string类型时,允许为空,字符长度不超过8192个字节

3.使用

   1. 导入preferences模块

import dataPreferences from'@ohos.data.preferences'

实例名字命名为dataPreferences

   2. 获取preferences实例

需要在entryAbility的onCreate方法获取首选项实例,以便后续能进行保存、读取、删除等操作,获取实例需要上下文context和文件名字PREFERENCES_NAME

entryAbility.ets 

  onCreate(want, launchParam) {
    globalThis.abilityWant = want;
    // 创建首选项
    PreferencesUtil.createFontPreferences(this.context);
    ...
  }

PreferencesUtil.ets 

createFontPreferences(context) {
    globalThis.getFontPreferences = (() => {
      // 获取首选项实例
      let preferences: Promise = dataPreferences.getPreferences(context, PREFERENCES_NAME);
      return preferences;
    });
  }

globalThis全局对象中定义了一个函数getFontPreferences ,用来获取Preferences实例,该实例包括:

  • get:查询
  • put:插入
  • has:检查是否存在
  • delete:删除
  • flush:写入文件

如:preferences.get()、 preferences.put()等

3.保存数据

entryAbility.ets

  onCreate(want, launchParam) {
 
    globalThis.abilityWant = want;
    ...
    PreferencesUtil.saveDefaultFontSize(Constants.SET_SIZE_STANDARD);
  }
4.获取数据
getChangeFontSize(){
    Let fontSize:number = 0;
    const preferences = await globalThis.getFontPreferences();
    fontSize = await         
    preferences.get(KEY_APP_FONT_SIZE, fontSize);
    return fontSize;
}

在主页面HomePage.ets以及设置字体大小页面SetFontSizePage.ets加载的时候,即生命周期onPageShow方法处,去读取数据

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值