HarmonyOS 鸿蒙Next突然无法使用,服了服了
HarmonyOS 鸿蒙Next突然无法使用,服了服了
log,之前都用的好好的,今天突然就高数我没得put?????我无语。。。。
上个帖子内,有朋友给我了他能用的代码,然后我进行了修改,可以用了,用到现在不能用了????啥东西,这个存储真滴烂透了啊(#`O′)喂,能不能搞点建设性的东西啊,我之前用uniapp的持久化storage都很简单的,首选项,现在没几个手机是api9所以用不了,换个api8的storage结果老是没得put这种,关键是之前能用有put方法,现在突然没了,代码都没改过(能用我为啥要改)。
Device info:BRQ-AN00
Build info:BRQ-AN00 3.0.0.161(C00E160R7P6)
Module name:com.brejce.myapplication
Version:1.0.0
Pid:19412
Uid:10600
Lifetime: 1.000000s
Js-Engine: ark
page: pages/index.js
Error message: Cannot read property put of undefined
SourceCode:
this.storage.put(key, value).then(() => {
^
Stacktrace:
import hilog from '@ohos.hilog';
import dataStorage from '@ohos.data.storage';
import featureAbility from '@ohos.ability.featureAbility';
export class data_test {
private storage:dataStorage.Storage
init(){//获取Storage
var context = featureAbility.getContext()
context.getFilesDir().then((filePath) => {
if (filePath) {
hilog.info(0x0000, 'dataBase',"put-filePath>>" + filePath);
dataStorage.getStorage(filePath + '/store').then((s) => {
this.storage = s
})
.catch((err) => {
hilog.error(0x0000, 'dataBase', "获取 storage 失败:" + err);
})
}
})
}
putData(key: string, value: string) {//设置数据
this.storage.put(key, value).then(() => {
hilog.info(0x0000, 'dataBase', "保存 " + key + " 成功:" + value);
this.storage.flushSync()
}).catch((err) => {
hilog.error(0x0000, 'dataBase', "保存 " + key + " 失败:" + err);
})
}
getData(key:string){//获取数据
this.storage.get(key, '').then(value => {
if (value) {
hilog.info(0x0000, 'dataBase', "获取 " + key + " 成功:" + value);
}else{
hilog.info(0x0000, 'dataBase', "没得数据:" + value);
}
}).catch((err) => {
hilog.error(0x0000, 'dataBase', "获取 " + key + " 失败:" + err);
})
}
hasData(key:string){//查询数据
this.storage.has(key).then((isExist) => {
if (isExist) {
hilog.info(0x0000, 'dataBase', "查询:" + key + " -存在:",isExist);
}else{
hilog.info(0x0000, 'dataBase', "查询:" + key + " -不存在:",isExist);
}
}).catch((err) => {
hilog.error(0x0000, 'dataBase', "查询:" + key + " -错误:"+err);//无论数据存在与否都会运行这一条
})
}
deleteData(key:string){//删除数据
this.storage.delete(key).then(()=>{
hilog.info(0x0000, 'dataBase', "删除:" + key + " 成功");
}).catch((err) => {
hilog.error(0x0000, 'dataBase', "删除:" + key + " 问题:"+err);
})
}
}
export default new data_test();
更多关于HarmonyOS 鸿蒙Next突然无法使用,服了服了的实战教程也可以访问 https://www.itying.com/category-93-b0.html
上次就说了赋值问题,使用要在赋值后,你这个顺序是不确定的,storage在赋值前使用肯定报错啊,要判断一下storage是不是空,或者改成同步的代码,
更多关于HarmonyOS 鸿蒙Next突然无法使用,服了服了的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
难受,几天没看,今天又不能用了🤣
楼主你好,可能是由于this.storage为空,导致应用闪退。检查下接口init()调用代码,要保证获取到了storage,然后在调用put()接口。
针对“HarmonyOS 鸿蒙Next突然无法使用”的问题,可能的原因及初步排查方法如下:
-
系统更新问题:检查是否有未完成的系统更新。鸿蒙系统有时会推送更新,若更新过程中断可能导致系统异常。尝试重启设备,看是否能自动继续更新或恢复正常。
-
软件冲突:近期是否安装了新应用或更新了关键软件?某些应用可能与鸿蒙系统不兼容,导致系统异常。尝试进入安全模式,卸载最近安装的应用,看问题是否解决。
-
硬件故障:排除软件问题后,考虑硬件故障的可能性,如存储芯片损坏、电源管理问题等。这类问题通常需要专业维修。
-
系统恢复:若上述方法均无效,可考虑使用鸿蒙系统自带的恢复功能,如恢复出厂设置。注意,此操作会清除所有数据,请提前备份。
-
官方支持:若以上步骤均未能解决问题,可能是系统深层次的bug或特定设备的问题。此时,建议直接联系华为官方客服,获取更专业的技术支持。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html