鸿蒙系列--数据管理

一、首选项

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方法处,去读取数据

相关推荐

  1. 鸿蒙系列--数据管理

    2024-01-18 12:18:02       30 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-18 12:18:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-18 12:18:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-18 12:18:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-18 12:18:02       18 阅读

热门阅读

  1. 前端注释规范

    2024-01-18 12:18:02       37 阅读
  2. 组件中写选项的顺序(vue的问题)

    2024-01-18 12:18:02       26 阅读
  3. 【技术选型】clickhouse vs starRocks

    2024-01-18 12:18:02       49 阅读
  4. 【排序算法】自顶向下的归并排序

    2024-01-18 12:18:02       26 阅读
  5. 设计模式——迭代器模式

    2024-01-18 12:18:02       34 阅读
  6. springboot多数据源支持自定义连接池

    2024-01-18 12:18:02       38 阅读
  7. 解决fxml图标无法显示

    2024-01-18 12:18:02       30 阅读
  8. 大数据小白初探Hbase从零到入门

    2024-01-18 12:18:02       27 阅读