1、HarmonyOS 多线程写法限制?
目前基于HarmonyOS taskpool、worker的多线程开发,对于数据对象的限制较多。而我们实际开发过程中,基于私有协议的业务请求收发包数据结构非常复杂,想在taskpool基础上做数据处理的异步化比较困难。
推荐napi_load_module_with_info:https://gitee.com/openharmony/docs/blob/b95d505363b96f16eaf5a5f75811f3e83b137832/zh-cn/application-dev/napi/use-napi-load-module-with-info.md
https://blog.csdn.net/maniuT/article/details/137089658
2、HarmonyOS axios组件,下载过程中没有执行onDownloadProgress的日志?
download一定要加上filePath 和 context参数设置filePath才会进入上传下载流程,否则就是普通请求,拿不到下载进度。不会自动清理。responseType设置arrayBuffer的话,也需要设置filepath
3、HarmonyOS lpx问题
应用使用lpx单位,A组件在手机上是占满屏幕,但在平板上时,由于平板过宽,在A组件左边会有一个导航栏,A组件只占2/3,但是由于A页面使用lpx单位,导致A页面的图标字体过大(lpx根据屏幕宽度换算),需要怎么解决。
根据组件宽度和屏幕宽度的比值换算下,组件宽度请参考链接:
4、HarmonyOS ArkTS Web组件如何设置全局代理?
web组件load页面展示,页面及所有资源需要走隧道代理才能正确显示,翻阅API未查到相关方法,如何设置全局代理。
connection.setAppHttpProxy方法设置全局网络代理。参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-net-connection-V5#ZH-CN_TOPIC_0000001847049896__connectionsetapphttpproxy11
5、HarmonyOS ArrayList 遇到问题?
Error message:The forEach method cannot be bound, 调用的对象是ArrayList
export class LUBCUAAgreementInfo {
id?: number
type?: string
}
export class LUBCUAUnifyAuthSceneInfoResult {
id?: number
sceneCode?: string
agreementInfoDTOS?: ArrayList<LUBCUAAgreementInfo>
}
调用代码
@Component
export struct LUBCUALoginView {
@Prop agreementData?: LUBCUAUnifyAuthSceneInfoResult
aboutToAppear(): void {
this.agreementData?.agreementInfoDTOS?.forEach((value: LUBCUAAgreementInfo, index: number) => {
})
}
}
ArrayList是jsapi中的一个类。数组是基础数据结构。两者从本质来说不是同一个类型。将ArrayList换成Array就不会报错了。@Prop中建议使用Array,其中允许使用的类型可以参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-prop-V5