HarmonyOS 首选项无法读取Map类型的数据
在首选项中获取应用设置信息,调用数据类型Map报错,后来换成二维数组保存和获取数据均无问题。数据类型定义如下:
export class UserBean {
  // 用户登录成功后要保存的token
  public token: string = ""
  public persistence_username = ""
  public fontSize: number = 1
  public menuItemSwich:boolean[] = []
  public turnOnMenuID: Map<string,boolean> = new Map()
  public turnOnMenuID_1: Array<Array<string|boolean>> = []
}
调用代码如下:
console.log("turnOnMenuID:" + MyPreferencesUtil.getInstance().mUserInfo.turnOnMenuID.has("1"))
console.log("turnOnMenuID_1:" + MyPreferencesUtil.getInstance().mUserInfo.turnOnMenuID_1)
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 HarmonyOS 在应用中将数据存储在首选项中,退出应用后无法获取首选项数据 
1394浏览  • 1回复 待解决
HarmonyOS 首选项报错数据报错 
1189浏览  • 1回复 待解决
首选项preferences相关 
1232浏览  • 1回复 待解决
HarmonyOS 首选项示例 
1121浏览  • 1回复 待解决
跨模块、跨进程时如何保证正常读取首选项中的数据 
1504浏览  • 1回复 待解决
HarmonyOS 首选项与数据库存储数据的格式 
1389浏览  • 1回复 待解决
重新运行项目,用户首选项的数据全都丢失 
1600浏览  • 1回复 待解决
HarmonyOS 使用首选项实现数据持久化遇到的问题 
2072浏览  • 1回复 待解决
HarmonyOS 获取首选项取值的方式 
1382浏览  • 1回复 待解决
HarmonyOS TaskPool使用首选项报错 
1731浏览  • 1回复 待解决
HarmonyOS 首选项回调失效 
1136浏览  • 1回复 待解决
HarmonyOS image.PixelMap类型的数据可以使用首选项缓存进行读写操作吗 
857浏览  • 1回复 待解决
HarmonyOS 创建首选项报错code:15500000 
1255浏览  • 1回复 待解决
HarmonyOS使用“通过用户首选项实现数据持久化”问题 
1936浏览  • 1回复 待解决
用户首选项和kvstore都是异步保存和读取,有同步读取方式吗 
1560浏览  • 1回复 待解决
HarmonyOS 首选项超长string存储失败 
1181浏览  • 1回复 待解决
用户首选项使用分享,通过@ohos.data.preferences相关接口,完成用户首选项的简单使用。 
2975浏览  • 1回复 待解决
HarmonyOS  用户首选项是线程安全的吗 
1425浏览  • 1回复 待解决
怎么给HarmonyOS用户首选项中的数据设置有效期? 
901浏览  • 1回复 待解决
首选项存储问题,为什么会报错? 
1509浏览  • 1回复 待解决
首选项数据持久化之后能不能监听变化? 
2952浏览  • 1回复 待解决
HarmonyOS 使用用户首选项持久化存储数据,重启应用后无法持久化存储 
961浏览  • 1回复 待解决
求助,请问怎么使用HarmonyOS的用户首选项模块扩展支持JSON数据存储 
1557浏览  • 1回复 待解决
首选项获取实例,实例是否为单例 
2900浏览  • 1回复 待解决
HarmonyOS 模拟器使用首选项能力异常 
1157浏览  • 1回复 待解决





















hasSync(key: string): boolean检查key值是否是字符出。
不同的模块页面参考共享用户首选项:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-data-sendablepreferences-V5
参考示例:
app启动的时候初始化一次PreferenceUtil.getInstance().loadPreference(this.context,‘moreStore’)
其他任意地方调用
PreferenceUtil.getInstance().putPreferenceValue(‘name’,‘jack’)
注意PreferenceUtil.ets只能在har包中,在其他har中调用才能是唯一单例。