HarmonyOS 鸿蒙Next 是否有系统内置同步方案类似微信小程序storage 数据库部分设置查询均为异步如何同步
HarmonyOS 鸿蒙Next 是否有系统内置同步方案类似微信小程序storage 数据库部分设置查询均为异步如何同步
应用数据持久化有多种方式可以看下具体哪种符合你的业务场景:
‘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 。