HarmonyOS 鸿蒙Next:使用preferences.getPreferences获取data_preferences.Preferences,再用pref.getSync(key, defValue)方法获取数据

HarmonyOS 鸿蒙Next:使用preferences.getPreferences获取data_preferences.Preferences,再用pref.getSync(key, defValue)方法获取数据 我用 preferences.getPreferences,获取到pref: data_preferences.Preferences,在用 pref.getSync(key, defValue)方法获取数据

let num1= pref.getSync(“key”, -1)
let num2 =num1 - 2;

这时候,后面一行num1报错了:
The left-hand side of an arithmetic operation must be of type ‘any’, ‘number’, ‘bigint’ or an enum type.


更多关于HarmonyOS 鸿蒙Next:使用preferences.getPreferences获取data_preferences.Preferences,再用pref.getSync(key, defValue)方法获取数据的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

可以参考以下方式进行修改 <ArkTSCheck> getSync的返回值是data_preferences.ValueType类型,需要将num1的类型转换成对应类型。 参考修改:

let num1: number = pref.getSync("key", -1) as number;
let num2: number = num1 - 2;

更多关于HarmonyOS 鸿蒙Next:使用preferences.getPreferences获取data_preferences.Preferences,再用pref.getSync(key, defValue)方法获取数据的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中,若你希望通过preferences.getPreferences获取ohos.data.preferences.Preferences实例,并使用pref.getSync(key, defValue)方法从偏好设置中同步获取数据,可以按以下方式操作:

首先,确保你的项目中已经正确导入了鸿蒙的偏好设置相关模块。然后,你可以通过以下代码实现数据获取:

// 注意:此处示例代码为伪代码,鸿蒙API可能与Android有所不同,具体请参考鸿蒙官方文档
import ohos.data.preferences.Preferences;

// 假设你已经在某个类中
Preferences preferences = preferences.getPreferences(this, "your_preferences_file_name", Context.MODE_PRIVATE);
String key = "your_key";
String defValue = "default_value";

// 使用getSync方法同步获取数据
String value = preferences.getSync(key, defValue);

// 此时,value即为从偏好设置中获取的数据,若key不存在则返回defValue

需要注意的是,getSync方法会同步地从存储中读取数据,这意味着它可能会阻塞当前线程,因此在主线程中使用时需谨慎,以免导致应用界面卡顿。

此外,your_preferences_file_name应替换为你实际使用的偏好设置文件名,your_keydefault_value也应替换为实际的键和默认值。

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

回到顶部