根据提供的资料,我们可以进一步扩展之前的博客文章,加入键值型数据库(KV-Store)和关系型数据库(RelationalStore)的内容。下面是整合后的完整博客草稿,包含了所有必要的代码示例:


HarmonyOS 应用数据持久化指南

引言

在HarmonyOS应用开发中,数据持久化是一项重要的功能。本文将介绍三种常见的数据持久化方式:用户首选项(Preferences)、键值型数据库(KV-Store)以及关系型数据库(RelationalStore),并给出相应的代码示例。

用户首选项(Preferences)

用户首选项是一种简单的数据持久化方式,适合存储少量配置信息。

示例代码
import dataPreferences from '@ohos.data.preferences';

// 获取Preferences实例
function getPreferences(context, storeName) {
  try {
    dataPreferences.getPreferences(context, storeName, (err, preferences) => {
      if (err) {
        console.error(`Failed to get preferences. Code:${err.code},message:${err.message}`);
        return;
      }
      console.info('Succeeded in getting preferences.');
      // 进行相关数据操作
    });
  } catch (err) {
    console.error(`Failed to get preferences. Code:${err.code},message:${err.message}`);
  }
}

// 写入数据
function putData(preferences, key, value) {
  try {
    preferences.put(key, value, (err) => {
      if (err) {
        console.error(`Failed to put data. Code:${err.code}, message:${err.message}`);
        return;
      }
      console.info('Succeeded in putting data.');
    });
  } catch (err) {
    console.error(`Failed to put data. Code: ${err.code},message:${err.message}`);
  }
}

// 读取数据
function getData(preferences, key, defaultValue) {
  try {
    preferences.get(key, defaultValue, (err, val) => {
      if (err) {
        console.error(`Failed to get value of '${key}'. Code:${err.code}, message:${err.message}`);
        return;
      }
      console.info(`Succeeded in getting value of '${key}'. val: ${val}.`);
    });
  } catch (err) {
    console.error(`Failed to get value of &#