HarmonyOS 鸿蒙Next开发遇到的问题,跪求各路大佬指教~(持续更新)

发布于 1周前 作者 nodeper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next开发遇到的问题,跪求各路大佬指教~(持续更新)

开发背景:本人原web前端开发,由于公司业务需要转型进行鸿蒙开发,因此有很多C端开发的技术问题不是很懂,在这期间遇到以下问题,希望各位大佬耐心解答。

开发工具:DevEco Studio NEXT Developer Beta1,方舟语言ArkTS(API11+),方舟UI ArkUI,模拟器 Huawei_Phone(HarmonyOS NEXT Developer Beta1 x86版本)。

4. 关于 webview 使用的问题,请问 ArkUI 里面怎么使用 webview 去渲染 h5 页面呢?(已解决)

功能预期:点击按钮,跳转至企业官网。

尝试方案:

  • @ohos.web.webview (Webview),打开新页面一片空白,代码片段如下:

    cke_295139.png

阻塞点:目前发现所有跟网络相关的请求,包括渲染网络图片,都渲染不出来;

image.png 这是我的模拟器 WiFi 联网状态;

cke_111321.png 网络权限申请也有声明;

求助期望:目前不清楚到底有什么问题,提官方工单也没有后续,一直在处理中,催单也没用。。

5. List 列表重绘问题;(已解决)

功能预期:省市联动选择 Picker;

尝试方案:

  • List 列表渲染 JSON 数据;

 阻塞点:ProvinceDataList 滚动结束之后,给 cityData 重新赋值之后,没有触发 UI 重绘,CityDataList 并没有渲染最新数据;

求助期望:给官方提工单一直没后续,目前不清楚要怎么调整代码,希望可以有一个可运行的 Demo。

1. 关于设备权限问题,APP 需要获取设备网络、定位、通知以及检测升级权限等;(已解决)

功能预期:用户首次打开APP应用,拉起原生授权弹窗,请求用户授权,不授权则提示用户功能受限。

尝试方案:

  • 在 module.json5 中声明 requestPermissions 权限,根据文档代码(requestPermissionsFromUser)尝试动态权限申请,模拟器始终无法拉起原生授权弹窗也获取不到数据;
  • 使用第三方库(@pura/harmony-utils),模拟器同样无法拉起授权弹窗也获取不到数据。

求助期望:希望大佬们提供一个切实可行的代码片段~

2. 关于自定义弹窗问题;(已解决)

功能预期:属于列表筛选功能,因此弹窗筛选参数需要回传给父级页面去重新调用自研数据接口获取数据。激活时要求弹窗自下往上拉起,重点是需要有一个高度动画!最好可以实现命令式调用,不想代码耦合过于严重。

尝试方案:

  • 基于API9的Panel组件,虽然功能实现了,但由于该组件处于deprecated状态,故弃用;
  • 高级组件@ohos.arkui.advanced.Dialog,UI样式只能在属性中调整,暂时达不到自研UI要求;
  • 通用属性Popup控制,显然不适合我司的开发场景,没有尝试;
  • 模态转场设置(bindContentCover、bindSheet),不能与父级页面交互,无法达到业务要求;
  • CustomDialog+promptAction,可以达到业务要求,唯一问题是自下而上拉起时没有高度过渡动画;
  • HUD Dialog,鉴于上一种办法实现了,所以没有尝试。

求助期望:目前暂定使用 CustomDialog + promptAction 方式实现,希望各位大佬可以提供一个动画效果~

3. 最后一个也是一直关心的,就是真机调试问题;(等待公测)

我个人猜测问题1无法拉起弹窗是因为没有真机调试的原因,因此一直想让公司采购一台鸿蒙机。但是吧,现在系统内测也申请不了,官方发布的内测机型也只有几台,如果要采购新机的成本确实有点高。

另外也不清楚采购其他低端华为机型后面公测是不是可以升级到纯血鸿蒙系统。本来我在6月中旬开始转型过来开发鸿蒙时,纯血鸿蒙还没发布,所使用的API版本全部都是9+的。6月底纯血鸿蒙一发布,想着升级体验一下,结果代码迁移过来大面积爆红,寻求官方工单结果是因为TS语法校验加强了,无法兼容,只能开发者根据官方提供的文档手动适配…就这样被恶心了一把,现在开发遇到上面这些问题也不是很顺畅,真是有点心累

5 回复

1.如果第一次申请被拒绝了,后续是无法继续弹出窗口的。如果确定代码没问题可以尝试卸载app或者清除模拟器数据重新尝试。

2.自定义弹窗有很多第三方库可以看看参考一下有没有能实现需求的。

3.真机调试的问题,目前二期开发者申请已经开启了,可以申请。

  1. 目前我是没有真机可以调试的,只有在模拟器上调试。模拟器确认可以拉起弹窗的吗?可以的话我尝试卸载一下。
  2. 第三方库没有能满足我需求的,所以只有选择自己封装。
  3. 已通过考试,但是机型支持的只有几个,暂时没有申请。我看mate60新机都要1w好几,有没有其他机型可以支持的呢。

模拟器可以弹出,需要分析下你的代码和权限配置

cke_166.png

下午调试已经可以正常拉起权限弹窗了,感谢~

遇到HarmonyOS鸿蒙Next开发中的问题,首先请确保你的开发环境(如DevEco Studio、SDK版本)是最新的,并检查官方文档和社区论坛是否有相关问题的解决方案。同时,查看你的项目配置文件(如build.gradle)是否正确无误,特别是依赖和插件版本。如果问题涉及具体代码或编译错误,尝试简化代码到最小出错单元进行调试。此外,确保设备连接和调试模式设置正确。如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部