HarmonyOS 鸿蒙Next 【FAQ】HarmonyOS应用开发相关问题解答(四)

HarmonyOS 鸿蒙Next 【FAQ】HarmonyOS应用开发相关问题解答(四) 贴接上回。。。

【往期FAQ参考】

【HarmonyOS】【FAQ】HarmonyOS应用开发相关问题解答(一)

【HarmonyOS】【FAQ】HarmonyOS应用开发相关问题解答(二)

【HarmonyOS】【FAQ】HarmonyOS应用开发相关问题解答(三)

【本期FAQ】

1、JS服务卡片能实现按钮触摸时更换背景色,离开恢复原来颜色么
JS服务卡片暂不支持touchStart和touchEnd事件,也不支持css伪类设置,暂时无法实现此效果。

2、DownloadTask.on(‘progress’) 和 UploadTask.on(‘progress’) 下载进度的回调,只会回调一次吗?
进度回调可能会回调一次或多次,跟所处的网络环境有关。若网络环境较好,可能仅回调一次;若网络环境一般且文件比较大,可能会回调多次,定期回调返回上传和下载的进度,如10%、30%类似这样。

3、@ohos.data.storage存储数据时,DevEco Studio重新运行后,会清除原来存储的数据吗?
DevEco Studio点击运行按钮,会默认先卸载应用再进行安装,@ohos.data.storage存储数据时存在应用内部存储路径下的,所以卸载应用时会把应用数据也一并清除,之前存储的数据也会清除掉。
若想重新运行时保存原有存储的数据,可在【Run - Edit Configurations】中勾选“Keep Application Data”,此时运行只会覆盖安装,不会卸载安装,可实现重新运行后原有存储的数据不会清除。

4、使用@ohos.request上传下载接口时,接口对于上传下载速度是否有限制?
上传下载接口仅提供上传和下载功能,并不限制网络及速率;上传下载速度跟设备性能和所处的网络环境有关。

5、DevEco Studio中log日志打印不全?
DevEco Studio的Log日志打印长度是有限制的,目前支持最长长度为4096,与设备版本有关,超过长度会自动截取,因此建议日志打印时,若长度较长,建议将结果分段打印。

6、使用@Styles装饰器进行样式服用时,若给自定义组件添加自定义样式,会报错?
目前ArkTS HarmonyOS应用开发,不支持给自定义组件使用@Styles自定义样式。

7、鸿蒙应用开发,如何将屏幕锁定在横屏,禁止竖屏?
可在mudule.json5中设置组件启动时的方向,设置orientation为landscape,参考文档如下:
https://docs.openharmony.cn/pages/v4.0/zh-cn/application-dev/quick-start/module-configuration-file.md/#abilities标签

8、使用时间选择组件,按照官网示例代码运行,选择时间后,结果比实际选择时间少一个月(API9 ArkTS)?
请注意文档说明,month值范围为0-11,因此实际开发时,需要将显示的值中month进行+1处理,这才是实际选择的月份,参考如下图所示:

9、DevEco Studio如何切换语言为中文?
打开DevEco Studio后,点击左上角【File - Settings】打开如下页面,下载简体中文plugins安装后,可将DevEco Studio改为中文版:

10、如何让DevEco Studio每次打开不直接打开项目,而是回到选择项目面板?
关闭工程项目时,点击【File - Close Project】关闭您的项目,而不是直接关闭DevEco Studio,这样再次打开DevEco Studio时就会自动到选择项目面板,而不是直接打开项目。

11、华为开发者联盟提供了小程序转快应用的文档,是否支持小程序转元服务?
暂时还不支持小程序直接转元服务,需要新建元服务进行开发,更新资讯可关注官网更新。

12、API8 ArkTS的HarmonyOS应用中image组件无法加载以http开头的网络图片
目前此问题在API9已修复,API8支持加载https开头的网络图片,API9可加载http和https开头的网络图片。

13、打开模拟器运行程序,修改组件,ctrl+S后模拟器页面未刷新,模拟器怎么能做到热更新?
模拟器不支持热更新功能,不是previewer功能,修改页面组件后,需要重新运行安装工程项目,打开页面才可刷新。

14、本地模拟器使用@ohos.data.relationalStore创建本地数据库,初始化时报错
报错信息如下:

由于此接口功能实现需要依赖芯片相关接口,而部分模拟器无法提供相关硬件接口,所以RDB加密功能在远程模拟器中运行会报错,本地模拟器会根据电脑硬件功能确定是否支持此接口,可能部分支持部分不支持,因此使用数据库相关功能时,建议在真机上运行调试。

15、华为watch3手表如何监听手表的滚轮硬件滚动?
通过旋转电源键来完成页面交互,即旋转表冠事件,可参考文档如下:
https://developer.harmonyos.com/cn/docs/documentation/doc-guides/wearable-crown-rotation-intro-0000001158602489

16、如何拦截页面的物理返回事件(API9)
在页面的onBackPress方法中添加return true;可以防止物理返回,参考下图:

17、API9的HarmonyOS应用开发如何收到软件盘弹出的事件
可通过@ohos.window 中 keyboardHeightChange开启键盘高度变化的监听来判断键盘是否弹出,或者通过input的onfoucs事件判断键盘是否弹出,@ohos.window参考文档如下:
https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/js-apis-window-0000001477981397-V3#ZH-CN_TOPIC_0000001573929313__onkeyboardheightchange7

持续更新中…


更多关于HarmonyOS 鸿蒙Next 【FAQ】HarmonyOS应用开发相关问题解答(四)的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next 【FAQ】HarmonyOS应用开发相关问题解答(四)的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS应用开发相关问题解答(四):

  1. 鸿蒙应用的UI框架是什么?
    ArkUI,提供了声明式UI和类Web开发范式,支持高效的UI开发。

  2. ArkTS和JS的关系是什么?
    ArkTS是基于TypeScript扩展的编程语言,专为HarmonyOS设计,兼容JS语法,但提供了更多HarmonyOS特有的API和功能。

  3. 如何实现鸿蒙应用的多设备协同?
    使用HarmonyOS的分布式能力,通过Distributed Data ManagementDistributed Scheduler实现数据共享和任务调度。

  4. 鸿蒙应用的包管理机制是什么?
    HAP(HarmonyOS Ability Package)作为应用包格式,支持多模块打包和按需加载。

  5. 如何调试鸿蒙应用?
    使用DevEco Studio内置的调试工具,支持断点调试、日志查看和性能分析。

  6. 鸿蒙应用如何访问设备硬件?
    通过AbilityService调用系统提供的硬件API,如摄像头、传感器等。

  7. 鸿蒙应用的数据存储方式有哪些?
    支持PreferencesRDB(关系型数据库)、Distributed Data Object等多种数据存储方式。

  8. 如何实现鸿蒙应用的安全性?
    使用HarmonyOS的安全框架,包括应用签名、权限管理、数据加密等机制。

  9. 鸿蒙应用的国际化支持如何实现?
    通过资源文件的多语言配置,使用ResourceManager加载不同语言的资源。

  10. 鸿蒙应用的性能优化有哪些手段?
    使用ArkCompiler进行代码优化,合理使用线程和任务调度,避免UI卡顿和内存泄漏。

回到顶部