数据管理:首选项

数据管理:

  • 首选项
  • 关系型数据库
  • 分布式数据服务
  • 分布式数据对象

首选项

首选项Perferences, 适用于key-value接口的数据进行存取和持久化操作。
key不能重复,是非空且长度不超过80个字节。
当value为string时,允许为空,字符长度不超过8192个字节。
因为Perferences实例会加载到内存中,建议存储的数据不超过一万条。

import dataPreferences from '@ohos.data.preference';
 // 创建首选项: onCreate(want, launchParam)
    PreferencesUtil.createFontPreferences(this.context);

// globalThis全局对象中,定义了一个函数getFontPreferences,用来获取Preferences 实例。
// 它有get,put,has,delete,flush等方法。
createPerferences(context) {
    globalThis.getFontPreferences = (()=> {
        let perferences: Promise<dataPreferenes.Preferences> 
            = dataPreferences.getPreferences(context, 'myPerferences');
        return perferences;
    })
}
saveFontSize(fontSize: number) {
    // 异步操作
    globalThis.getFontPreferences().then (async(preferences) => {
        await preferences.put('KEY_FONT_SIZE', fontSize);
        preferences.flush();
    }).catch((err) => {
        Logger.error(TAG, 'Put the fontSize ailed,err:' + err);
    });
}
// SetFontSizePage.ets
build() {
    Row() {
        Slider({
        ...
        }).onChange((value: number) => {
            // 保存当前进度值
            PreferencesUtil.saveChangeFontSize(this.changeFontSize);
        })
    }
}

getFontSize() {
    let fontSize:number = 0;
    const preferences = await globalThis.getFontPreferences();
    fontSize = await preferences.get('KEY_FONT_SIZE', fontSize);
    return fontSize;
}
// HomePage.ets
  onPageShow() {
    PreferencesUtil.getFontSize().then((value) => {
      this.changeFontSize = value;
      Logger.info(TAG, 'Get the value of changeFontSize: ' + this.changeFontSize);
    });
  }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容