鸿蒙系列--数据管理

发布时间:2024年01月16日

一、首选项

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

文章来源:https://blog.csdn.net/weixin_42277946/article/details/135604073
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。