You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dronekit-Android中ConnectionParameter参数需求及UDP连接报错排查

解决Dronekit-Android中ConnectionParameter实例化报错问题

嘿,我来帮你搞定这个UDP连接的问题!你遇到的报错是因为ConnectionParameter的构造方法被设为私有了,所以不能直接用new ConnectionParameter(...)来创建实例——这个类设计成了用Builder模式来构建对象。

正确创建UDP连接的ConnectionParameter方式

你应该用ConnectionParameter.Builder来构建连接参数,下面是适配你需求的修正代码:

// 构建UDP连接的参数
Bundle extraParams = new Bundle();
extraParams.putInt(ConnectionType.EXTRA_UDP_SERVER_PORT, DEFAULT_UDP_PORT);

ConnectionParameter connectionParameter = new ConnectionParameter.Builder()
        .setConnectionType(ConnectionType.TYPE_UDP)
        .setExtraParams(extraParams)
        // 如果不需要Uri可以传null,或者根据需求设置
        .setUri(null)
        .build();

drone.connect(connectionParameter);

ConnectionParameter的核心参数说明

通过Builder类,你需要设置的核心参数包括:

  • 连接类型:通过setConnectionType()指定,比如你用的ConnectionType.TYPE_UDP,还有TYPE_TCP、TYPE_USB等选项
  • 额外参数:通过setExtraParams()传入Bundle,针对不同连接类型传对应的参数(比如UDP需要端口,TCP需要IP和端口)
  • Uri(可选):通过setUri()设置,部分连接类型可能需要,UDP场景下一般传null即可

查询Java库必填参数的实用方法

除了查官方文档,还有几个本地就能搞定的方式:

  • 查看源码注释:在Android Studio里,按住Ctrl(Mac是Cmd)点击ConnectionParameter类名,直接跳转到源码,看Builder类的每个方法注释,里面会说明参数的作用和必填性
  • 利用代码提示:输入new ConnectionParameter.Builder().之后,Android Studio会弹出所有可用的构建方法,悬停在方法上就能看到参数说明
  • 参考官方示例:3DR的Dronekit-Android项目里有现成的连接示例,比如UDP连接的Demo代码,直接参考示例里的参数设置
  • 查看SDK的JavaDoc:如果SDK附带了JavaDoc,你可以在Android Studio中关联后,通过Ctrl+Q(Mac是Ctrl+J)快速查看类和方法的详细文档

内容的提问来源于stack exchange,提问作者Infinity_Challenge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:31:24