【鸿蒙开发笔记】JS API6以后不再维护旧的数据存储接口,我们可以这样做,同时兼顾新老接口的鸿蒙设备!

最近,羊羊乐儿在开发一款HarmonyOS2.0的软件,采用的js+java混合开发模式,js与hml主要用于页面UI设计,java则主要用于提供软件所需要的能力!但是,在实现记录是否已完成软件初次开启,不再推送初次启动页的时候,却遇到了一些小问题,不过最终还是解决了,下面就来给大家分享一下我的经验吧!事情是这样子的,羊羊乐儿将已在自己鸿蒙设备上测试通过的版本,放到了云端的mate30测试,却发现运行以后,界面一片空白,什么也不加载,于是去鸿蒙官网又仔细查了一下:原来是API6已经不再维护之前.
摘要由CSDN通过智能技术生成

最近,羊羊乐儿在开发一款HarmonyOS2.0的软件,采用的js+java混合开发模式,js与hml主要用于页面UI设计,java则主要用于提供软件所需要的能力!但是,在实现记录是否已完成软件初次开启,不再推送初次启动页的时候,却遇到了一些小问题,不过最终还是解决了,下面就来给大家分享一下我的经验吧!

事情是这样子的,羊羊乐儿将已在自己鸿蒙设备上测试通过的版本,放到了云端的mate30测试,却发现运行以后,界面一片空白,什么也不加载,于是去鸿蒙官网又仔细查了一下:

 原来是API6已经不再维护之前的数据存储接口了,而云端的mate30鸿蒙则正是这个API版本!

 于是呢,羊羊乐儿就在自己的启动代码,里引入了新的'@ohos.data.storage'类,并使用新的方式,制作了一份用于判断初次启动页是否完成的验证!

 就这样,羊羊乐儿再一次将新生成的hap包,推至了云端API6接口的mate30,看起来好像是成功了,可以显示出页面了!

 然而,事情并没有这么简单,当我再将hap包推至自己的鸿蒙设备时,我发现我自己的鸿蒙设备又不能加载出页面了!而且,我将try和catch的内容对调,重新打包推至自己的鸿蒙设备也是如此,并且这样的版本连云端api6的mate30也不能用了 !大概分析了一下原因:

一旦你在page所对应的js里import了'@ohos.data.storage'这个新类,那低于API6的鸿蒙设备就会造成加载不出这个页面,而如果是在API6的环境里import'@system.storage'这个旧类,你不去调用里面的参数的话,那么它不会影响到。可是这样的话,引入新的类旧的没发工作,不引入新的类那新的Api6又不能调用之前的存取代码,那不就无解了么?<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值