Qt 调用 Java 方法笔记

Qt 调用 Java 方法笔记

如果遇到类似的错误:

error: undefined reference to '_jstring* QAndroidJniObject::callStaticMethod<_jstring*>(char const*, char const*)'

那就是你使用了一个错误的函数来调用 Java 方法了。

The main difference is that QAndroidJniObject::callMethod returns a primitive data type like jint or jbyte but QAndroidJniObject::callObjectMethod returns an object of type QAndroidJniObject.

Using which one all depends on your needs and the return type of the function you want to call. If your function returns an object type like jobject, jstring, jarray,… then you should definitely use QAndroidJniObject::callObjectMethod. Otherwise you can use either of the two.

就是参照以调用的 Java 方法返回的对象来使用不同的函数,如果返回参数为对象例如是数组,字符串,就使用 QAndroidJniObject::callObjectMethod,如果是基本数据类型就使用 QAndroidJniObject::callMethod


参考

What is the difference between QAndroidJniObject::callMethod() and QAndroidJniObject::callObjectMethod()?

https://bugreports.qt.io/browse/QTBUG-37212

error: undefined reference to ‘_jstring* QAndroidJniObject::callStaticMethod<_jstring*>(char const*, char const*)’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值