HarmonyOS鸿蒙Next中用户首选项是不是有bug
HarmonyOS鸿蒙Next中用户首选项是不是有bug
需求
-
我有一个商品搜索界面,搜索框使用Search组件
-
用户点击“搜索”后,需要保存用户的搜索记录,并且跳转至商品列表页
更多关于HarmonyOS鸿蒙Next中用户首选项是不是有bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html
没有完整代码不好分析问题,可以注意以下几点试试。
1、模拟器每次运行都是卸载app再安装,所以首选项应该不起作用,你需要用真机测,并且在开发工具设置 keep application data保证运行是覆盖安装app.
2、首选项是异步存取,一般是应用启动的时候读取到内存里,平时使用的时候都用内存的,当有变动就内存里改一下,然后本地里再异步保存一下。而不是本地里异步保存着,马上再去读本地首选项里的是拿不到的。
3、首选项不要在一定时间内频繁使用,你放到search里,用户快速输入或删除字母时,你这段代码都会执行首选项,那什么就会一段时间内对同一个文件反复打开首选项文件 进入数据保存,而你封装的工具里估计没有try catch所以就报错了。search里还是不应该做保存首先项操作,而是应该把数据保存到临时的内存里,等页面关闭时,再调一次首先项保存。
更多关于HarmonyOS鸿蒙Next中用户首选项是不是有bug的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
感谢回答,完整代码已发在评论区。
但是首选项写在函数里面,调用‘onSubmit’方法,模拟器就闪退了,
这代码也不全啊,调用search(value)
这是你自己定义的方法,在上面某部分报错了,如果你不想try catch
,可以把search
方法里的代码都注释掉,然后一个一个放开注释再运行看看到底是哪行代码报错了。
源码如下:↓↓↓
首选项:
- 这样使用首选项就没有问题,
贴图中说换了方法名字,但是后面贴的代码名字没有换,其次你说报错,报什么错?首选项位置里面代码有问题没有,
-
后面贴的那张,名字我换回来了,bug和函数名没有关系。
-
代码块是一样的,一个是封装成了Search函数,在onSubmit中调用,另一个是直接将代码块写在onSubmit下。
在HarmonyOS鸿蒙Next中,用户首选项功能目前没有广泛报告的重大bug。不过,任何系统都可能存在个别问题,建议定期更新系统以获取最新修复。如果遇到问题,可以尝试清除缓存或重启设备。如问题持续,建议联系华为技术支持获取帮助。