【HarmonyOS】这些HarmonyOS应用开发的问题你都了解吗?

news/2024/7/3 6:49:22

【关键字】

HTTP请求、requests exceeds 100、DNS域名解析、屏幕分辨率、ArkTS/JS

【问题描述1】

HTTP多次请求之后出现请求异常如何解决?

描述:接口是正常的,http多次请求出现提示“The requested has been canceled or the number of requests exceeds 100”, 重启APP之后就会正常,如下图所示:

cke_259.png

【解决方案】

该问题是由于在HarmanyOS中http请求有100个请求的上限的个数限制,目前该问题已更新至官方文档,地址如下:

文档中心

cke_958.png

【问题描述2】

ArkTS中是否有关于dns域名解析的相关API呢?

描述:ArkTS中是否有关于dns域名解析的实现方案,类似java.net.InetAddress.getAllByName的方法。

解决方案

参考官网开发文档中如下方法:

cke_1999.png

文档地址:

文档中心

【问题描述3】

如何获取正确的屏幕分辨率?

描述:调试设备参数:Mate40Pro,HarmonyOS 3.0,API8

通过TS接口获取到的设备屏幕分辨率比设备系统设置关于手机屏幕中显示的数值要小,系统设置关于手机中显示的屏幕分辨率为2772 * 1344,但通过display中getDefaultDisaply接口获取到的屏幕分辨率却只有2376 * 1152。计算出来的屏幕尺寸只有5.7左右。

接口返回值如下:

{"alive":true,"densityDPI":480,"densityPixels":3,"height":2376,"id":0,"name":"内置屏幕","refreshRate":60.000004,"rotation":0,"scaledDensity":3,"state":2,"width":1152,"xDPI":461.318,"yDPI":457.2}

计算方式: (TS)

let xInch = displayInfo.width / displayInfo.xDPI

let yInch = displayInfo.height / displayInfo.yDPI

let screenInch = Math.sqrt(xInch * xInch + yInch * yInch)

相关代码:

display.getDefaultDisplay().then(displayInfo => {

if (displayInfo?.height && displayInfo?.width) {

if (displayInfo?.xDPI && displayInfo?.yDPI) {

let xInch = displayInfo.width / displayInfo.xDPI

let yInch = displayInfo.height / displayInfo.yDPI

hilog.info(0x0000, 'test', 'Screen inch: %{public}s', Math.sqrt(xInch * xInch + yInch * yInch));

}

}

})

对应文档地址:

文档中心:Display

【解决方案】

adb shell settings get global display_size_forced设备默认去了这个值设置到display,所以获取到的就是1152*2376。比如进入设置页面里面有一个智能分辨率,如果做了调整了再去获取这个打下对应的display:

cke_3409.png

信息也不是当前从设置中读取的,设置里面的宽高拿到的是物理设备的,和我们真是的设备是有区别的。物理分辨率是设备出厂就限定的,用户获取到的实际上是一个逻辑分辨率。

如下图,智能分辨率,需要使用“高”选项,然后再去获取:

cke_7720.png

OK,以上就是今天整理的3个关于HarmonyOS应用开发的问题解答,有需要的可以参考一下。

 欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh 


http://lihuaxi.xjx100.cn/news/1137284.html

相关文章

JavaScript全解析——express

express 的基本使用 ●express 是什么? ○是一个 node 的第三方开发框架 ■把启动服务器包括操作的一系列内容进行的完整的封装 ■在使用之前, 需要下载第三方 ■指令: npm install express 1.基本搭建 // 0. 下载: npm install express// 0. 导入 const express express()…

腾讯VS百度:在AI上下大赌注

来源:猛兽财经 作者:猛兽财经 腾讯控股(00700)最近已经把基础模型和生成式人工智能应用方面的行业突破视为其业务的新增长机会了,并且正在大力投资人工智能,从而增强其现有产品的竞争力和拓展新的机会,比如腾讯已经把…

JAVA 一种用户密码加密规则

设计思路: a:以用户输入密码为基础 b: 根据加盐方法获取盐值 c: 先 密码加密 盐值 单独加密 再 把各自加密后密文进行加密 注意:盐值要存入数据库 登录时对比密码使用 1:引入加密工具包 <dependency> <groupId>commons-codec</groupId> &…

时钟同步-注意客户端和服务端都需要开启123端口 udp协议

确认时钟源 chronyc sources -v chronyc tracking Linux ❉ Chronyd时间同步服务器详解_wangjie722703的博客-CSDN博客 local stratum 10: 即使自己未能通过网络时间服务器同步到时间,也允许将本地时间作为标准时间授时给其它客户端 确认 端口是否打开 Nmap -sU -p 123 192…

【案例教程】Biome-BGC生态系统模型与Python融合技术应用

Biome-BGC是利用站点描述数据、气象数据和植被生理生态参数&#xff0c;模拟日尺度碳、水和氮通量的有效模型&#xff0c;其研究的空间尺度可以从点尺度扩展到陆地生态系统。 在Biome-BGC模型中&#xff0c;对于碳的生物量积累&#xff0c;采用光合酶促反应机理模型计算出每天…

vue页面无操作返回登录页

方法一、挂在定时器 const timing ref(1000 * 60 * 20)const timer ref(null)document.addEventListener(keyup, () > {timing.value 1000 * 60 * 20})document.addEventListener(mousemove, () > {timing.value 1000 * 60 * 20})timer.value setInterval(() > {…

可视化大屏适配/自适应现状

可视化大屏适配/自适应现状 三大常用方式 vw/vh方案 概述&#xff1a;按照设计稿的尺寸&#xff0c;将px按比例计算转为vw和vh 优点&#xff1a;可以动态计算图表的宽高&#xff0c;字体等&#xff0c;灵活性较高&#xff0c;当屏幕比例跟 ui 稿不一致时&#xff0c;不会出现两…

Agisoft Metashape 基于影像的外部点云着色

Agisoft Metashape 基于影像的外部点云着色 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Agisoft Metashape 基于影像的外…