HarmonyOS 鸿蒙Next 是否有系统内置同步方案类似微信小程序storage 数据库部分设置查询均为异步如何同步

发布于 1周前 作者 phonegap100 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 是否有系统内置同步方案类似微信小程序storage 数据库部分设置查询均为异步如何同步

需要在框架层面实现类似微信小程序wx.setStorageSync功能

2 回复

应用数据持久化有多种方式可以看下具体哪种符合你的业务场景:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/app-data-persistence-overview-V5

看了下这个wx.setStorageSync可以设置本地数据存储

方式一:如果使用首选项进行数据存储也可以,其中也有同步操作的接口 首选项API文档:‘https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-data-preferences-V5#ZH-CN_TOPIC_0000001930756557__putsync10

方式二:如果要使用数据库中的查询,而它目前是没有同步操作的接口的,可以考虑下使用async/await语法实现

async queryData(){
  {
    if (this.rdbStore == null) {
      console.error(Create Store1.db failed! store1 is null);
      return;
    }
  }
  try {
    let predicates: relationalStore.RdbPredicates = new relationalStore.RdbPredicates(“EMPLOYEE”);

    let resultSet = await this.rdbStore.query(predicates); // 查询所有数据
    console.info(Query data successfully! row count:${resultSet.rowCount});
    while (resultSet.goToNextRow()) {
      const id = resultSet.getLong(resultSet.getColumnIndex(“ID”));
      const name = resultSet.getString(resultSet.getColumnIndex(“NAME”));
      const age = resultSet.getLong(resultSet.getColumnIndex(“AGE”));
      const salary = resultSet.getDouble(resultSet.getColumnIndex(“SALARY”));
      console.info(id=${id}, name=${name}, age=${age}, salary=${salary});
      const tmp = new ItemBean(name, age.toString(), salary.toString());
      this.dbSet.push(tmp);
    }
    resultSet.close();
  } catch (err) {
    console.error(Query data failed! err code:${err.code}, err message:${err.message})
  }
}

更多关于HarmonyOS 鸿蒙Next 是否有系统内置同步方案类似微信小程序storage 数据库部分设置查询均为异步如何同步的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS 鸿蒙Next确实提供了系统内置的同步方案,该方案与微信小程序的storage有所不同。微信小程序storage的数据库部分设置查询均为异步,而HarmonyOS 鸿蒙Next则通过AppStorage等机制实现同步。

在HarmonyOS 鸿蒙Next中,AppStorage是应用全局的UI状态存储,由UI框架在应用程序启动时创建。它支持使用@StorageLink装饰器与状态变量建立双向数据绑定,实现AppStorage数据变化与组件状态变量的同步更新。这种机制特别适用于需要在多个页面或组件间共享状态变量的场景,如用户登录状态、购物车信息等。

此外,HarmonyOS 鸿蒙Next还支持持久化存储选定的AppStorage属性,使用PersistentStorage对象确保属性在应用程序重新启动时保持与关闭时相同的值。对于跨设备同步的需求,鸿蒙Next的分布式能力可以实现AppStorage中的数据同步到云端或其他设备。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部