关系型数据库无法循环多次删除或者更新
同一个谓词一直循环加条件,导致删除失败,每一轮循环创建新的predicates示例代码for(leti0;i<stockCodes.length;i++){letpredicatesnewrelationalStore.RdbPredicates(this.SELFSTOCKTABLE);predicates.equalTo(this.SELFGROUPNAMEID,groupId).and().equalTo(this.STOCKCODE,stockCodes[i])if(this.store!undefined){(this.storeasrelationalStore.RdbStore).delete(predicates,(err:BusinessError,rows:number)>{if(err){console.error(Failedtodeletedata.Code:${err.code},message:${err.message});return;}console.info(Deleterows:${rows});})}
获取DeviceToken的方法
import{hilog}from'kit.PerformanceAnalysisKit';import{deviceCertificate}from'kit.DeviceSecurityKit';import{BusinessError}from'kit.BasicServicesKit';constTAG:string'[DevCertManagerModel]';请求deviceToken,并处理结果try{deviceCertificate.getDeviceToken().then((token)>{hilog.debug(0x0000,TAG,'SucceededinexecutinggetDeviceToken');this.dispalyTexttoken;}).catch((err:BusinessError)>{hilog.error(0x0000...
ArkTS、Stage模型的Harmony0S工程,前ArkTS工程目录结构都有哪些要点?
1.AppScope>appjson5:应用的全局配置信息2.entry>src>main>module.json5:Stage模型模块配置文件,主要包含HAP的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息3.ohpackage.json5:描述依赖配置,如:依赖覆盖(overrides)、依赖关系重写(overrideDependencyMap)和参数化配置(parameterFie)等
取消点击textinput时的背景高亮样式
利用多态样式设计,我们可以自定义组件在多种交互状态下的外观,包括点击、按压以及获焦等。对于TextInput组件而言,通过精细配置其按压时的样式表现,我们能够有效地实现取消点击输入框时背景高亮效果的目的,从而提升用户体验。参考代码如下:EntryComponentstructPage46{StylesonPress(){.backgroundColor('00000000')}build(){Row(){Column(){请输入手机号'}).type(InputType.PhoneNumber).backgroundColor('00000000').mar...
证书解析:解析证书CN怎么获取
x509Cert.getSubjectName();方法返回的是Uint8Array类型的数据,如何将Uint8Array转换成String您可以尝试使用ohos.util中的decodeWithStream方法。官方文档如下:https:developer.huawei.comconsumercndocharmonyosreferencesV5jsapisutilV5decodewithstream9
json 转换大数字数据,HarmonyOS有什么推荐方案吗?
转换成字符串处理即可。json解析相关可参考https:developer.huawei.comconsumercndocharmonyosreferencesV5jsapisjson0000001815246498V5ZHCNTOPIC0000001815246498jsonparse目前只能转成字符串处理
如何用ArkTS API实现第三方库js-base64, encode接口
可以使用ohos.util工具类中的Base64Helper,参考如下:https:developer.huawei.comconsumercndocharmonyosreferencesjsapisutilV5base64helper9代码参考:letstr'123456'letstrArraynewUint8Array(buffer.from(str).buffer)letbase64newutil.Base64Helper();letretbase64.encodeToStringSync(strArray,util.Type.BASIC)console.log(ret)在真机上会打印:MTIzNDU2
HarmonyOS定义一个map为临时变量
1、HarmonyOS语法规则要求在定义一个objectliteral的时候要求显式指明变量类型,如一个类或者接口,样例demo如下:classtest{status:string''}constarea:test{status:'1'}详细内容可参考官方文档,链接如下:https:developer.huawei.comconsumercndocharmonyosguidesV5arktsmorecasesV5arktsnountypedobjliterals2、如果要使用hashMap的话,样例demo如下:import{HashMap}from'kit.ArkTS';lethashMap:HashMap<string,nu...
需要TextEncoder支持iso-8859-1编码格式
可通过如下方式进行latin1编码functionstrToUint8Array(str:string){letbufbuffer.from(str,'latin1');returnnewUint8Array(buf.buffer)}文档:https:developer.huawei.comconsumercndocharmonyosreferencesV5jsapisbufferV5bufferencoding。
获取app进程运行时间api疑似不准
Date.now()是系统时间,实时的,这个比较准确。process.getPastCpuTime()是CPU时间,进程启动阶段不是一直在运行,可能存在休眠。所有会有差异。process.getPastCpuTime详细可以看一下clockgettime函数的CLOCKPROCESSCPUTIMEID类型。
HarmonyOS viewmodel如何与ui同步
在对应加上ObjectLink和Observed类装饰器试下。参考文档:https:developer.huawei.comconsumercndocharmonyosguidesV5arktsobservedandobjectlinkV5
HarmonyOS 如何将字符串进行base64编码后再返回字符串
代码参考:letstr'123456'letstrArraynewUint8Array(buffer.from(str).buffer)letbase64newutil.Base64Helper();letretbase64.encodeToStringSync(strArray,util.Type.BASIC)console.log(ret)在真机上会打印:MTIzNDU2
HarmonyOS 为什么不支持方法重载?而系统级的方法支持方法重载?
ArkTS支持函数重载,可以参考:函数重载我们可以通过编写重载,指定函数的不同调用方式。具体方法为,为同一个函数写入多个同名但签名不同的函数头,函数实现紧随其后。functionfoo(x:number):void;第一个函数定义functionfoo(x:string):void;第二个函数定义functionfoo(x:numberstring):void{函数实现}foo(123);OK,使用第一个定义foo(‘aa’);OK,使用第二个定义不允许重载函数有相同的名字以及参数列表,否则将会编译报错。...
HarmonyOS 将json对象按照 ASCII 排序
stringify(value:Object,replacer:Transformer,space:stringnumber):stringjson库可以参考https:developer.huawei.comconsumercndocharmonyosreferencesV5jsapisjsonV5ZHCNTOPIC0000001893369625jsonstringify1
ArkTS多线程下使用单例会创建多份实例
单例传到taskpoolletsigSingleConfig.getInstance();Concurrentasyncfunctiontest2(sig:SingleConfig){console.log("test:taskpoolcountis:"+sig.fetchCount());}EntryComponentstructIndex{Statemessage:string'HelloWorld';build(){Row(){Column(){Text(this.message).fontSize(50).fontWeight(FontWeight.Bold).onClick(()>{sig.incrementCount();console.info('lllll:mainthreadcountis:'+sig.fetchCount());hilog.info(0x0000,'testTag','TestNAPI2+3%{public}d',testNapi.add(2,3));})Button("test1").onClick(async()>{lettasknewtaskpool.Task(test2,sig);awaittaskpool.execute(task);})}.width('100%')}.height('100%')}}
HarmonyOS next 为什么不支持这样的写法 let dic = {"111":"222"}
可以参考以下两种方法1:代码如下classDic{public111:string''}letdic:Dic{111:'222'};2:letdic:ESObject{“111”:“222”}但是尽量不使用ESObject具体信息可以参考以下文档:https:developer.huawei.comconsumercndocharmonyosguidesV5arktshighperformanceprogrammingV5