研究华为HarmonyOS鸿蒙Next开发这段时间遇到的坑,希望华为官方能采纳下面的一些改进建议

研究华为HarmonyOS鸿蒙Next开发这段时间遇到的坑,希望华为官方能采纳下面的一些改进建议 今年鸿蒙2.0发布,目前上层应用开发可以支撑穿戴设备以及TV的开发了。我先通读了下官网的开发指南,梳理出来了一些鸿蒙的特色,比如FA与PA的交互,分布式数据存储、通信等。下面准备着手开发,当然还是从常规的UI开发入手,本以为对于我这个原生Android开发、VUE开发老鸟来说,上手UI应该很容易,于是先照着指南上的几个案例先敲敲代码,结果敲下来让我怀疑人生了,经过我反复的尝试加上反复查阅官网api手册,才发现是官网的代码demo是错的。这里特意简单列举两个出来,希望华为能更新下官网案例,并且对官网案例加以审核,有没有案例提供渠道,我也可以为其贡献些案例

下面就是我列举的一些官网错误案例的坑点:

  1. 错误案例连接地址 https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ui-js-fa-developing-0000000000500572

    错误示例1

    这个循环遍历数据的功能是开发中最常用的功能了,这里居然是错的,狠狠得把我误导了不少时间,还好最后在官网api手册上找到了

  2. 错误案例链接地址 https://developer.harmonyos.com/cn/docs/documentation/doc-guides/wearable-adding-module-0000001053581601

    错误示例2

  3. html容器没有overflow属性?所有的容器都会被内容自动撑开,请问下原生的overflow:hidden这个重要属性怎么解决呢,我有这个需求,目前我翻了官方api手册一遍又一遍,至今我还是未能解决。

  4. 这条描述比较复杂,目前我不确定是不是java api是否完善。我尝试像我曾今在Android上使用SurfaceView+MediaPlayer定制封装自己的视频播放器,后来通过阅读api手册找到了鸿蒙上的类似组件,SurfaceProvider+Player来进行实现,视频播放、暂停、停止等功能都可以实现,但是在定制播放器控制栏的时候布局出了问题了,由于SurfaceProvider是默认在窗口Z轴最底层,视频要能正常显示的话要么将整个窗口设置成透明要么就将SurfaceProvider设置成Z轴顶层,两种方式都会对控制栏或者其他控件进行遮盖,对比Android中的实现,Android将SurfaceView设置层顶层后,可以再调用setZOrderMediaOverlay这个api进行解决,但是在鸿蒙中我目前还没找到解决方案。并且视频在全屏播放的时候,发现总会距离底部有一定的空白。目前遇到了好多问题,于是我暂时放弃了这个封装。


更多关于研究华为HarmonyOS鸿蒙Next开发这段时间遇到的坑,希望华为官方能采纳下面的一些改进建议的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

非常感谢您的意见反馈,针对您的几个问题答复如下:

  1. swipeToIndex({{$item.index}})这里是通过自定义index变量来作为数组索引,虽然显示效果是一致的,从开发规范角度,建议用默认的数组索引$idx,而不应该自定义。很感谢您的意见,我们将对demo作出优化修改。

  2. slider组件暂时不支持动态设置滑动方向,支持在xml里面进行设置。可以参考:https://edu.51cto.com/center/course/lesson/index?id=637607

  3. 当前不支持overflow属性。建议通过list滚动组件来实现您需要的场景。

https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-container-list-0000000000611496

  1. 当前版本暂不支持,后续提供。

关于贡献案例,我们近期会推出案例贡献共创活动,敬请期待社区活动。非常感谢您的支持~

更多关于研究华为HarmonyOS鸿蒙Next开发这段时间遇到的坑,希望华为官方能采纳下面的一些改进建议的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


是的!我也有同感!有些细节上还不完善,容易引起误导!

刚才我才测试成功了二维数组的动态绑定,可以通过指定下标:比如

老哥 Java的全屏播放怎么实现啊 ?

请移步 看下 我发的贴 ,感谢

https://developer.huawei.com/consumer/cn/forum/topic/0201479043431330040?fid=0101303901040230869

感谢您的建议,这边会反馈评估哒~欢迎常来论坛玩呀

在开发华为HarmonyOS鸿蒙Next过程中,开发者可能会遇到以下问题:

  1. API文档不完善:部分API的文档描述不够详细,导致开发者在调用时容易出错。例如,某些API的参数说明不清晰,返回值类型未明确标注,或者缺少示例代码。

  2. 开发工具稳定性问题:DevEco Studio在某些情况下会出现卡顿、崩溃或响应缓慢的情况,尤其是在进行大型项目开发时,影响开发效率。

  3. 模拟器性能不足:鸿蒙Next的模拟器在运行复杂应用时,性能表现不佳,加载速度慢,且部分功能无法正常模拟,导致开发者需要频繁使用真机调试。

  4. 多设备适配问题:鸿蒙Next支持多设备协同,但在实际开发中,开发者发现不同设备之间的适配存在差异,尤其是在UI布局和交互逻辑上,增加了开发难度。

  5. 调试工具功能有限:现有的调试工具在排查复杂问题时功能有限,例如缺乏对内存泄漏、性能瓶颈等问题的深入分析工具。

  6. 第三方库兼容性差:部分第三方库在鸿蒙Next上的兼容性较差,导致开发者需要花费额外时间进行适配或寻找替代方案。

  7. 系统更新频繁:鸿蒙Next的系统更新较为频繁,每次更新后,部分API或功能可能会发生变化,导致开发者需要不断调整代码,增加了维护成本。

  8. 社区支持不足:鸿蒙Next的开发者社区相对较小,遇到问题时,难以找到有效的解决方案或经验分享,增加了开发难度。

这些问题可能会影响开发者的开发效率和体验,希望华为官方能够针对这些问题进行改进。

在开发华为HarmonyOS鸿蒙Next过程中,常见问题包括API文档不完善、开发工具兼容性问题、性能优化不足等。建议华为官方加强API文档的详细性和示例代码的丰富性,优化开发工具的稳定性和兼容性,提供更多性能调优的指导和工具支持。此外,建议增加社区互动和开发者支持,及时响应和解决开发者的反馈和问题。

回到顶部