QAndroidJniObject::callMethod() 和 QAndroidJniObject::callObjectMethod() 有啥区别?

Posted

技术标签:

【中文标题】QAndroidJniObject::callMethod() 和 QAndroidJniObject::callObjectMethod() 有啥区别?【英文标题】:What is the difference between QAndroidJniObject::callMethod() and QAndroidJniObject::callObjectMethod()?QAndroidJniObject::callMethod() 和 QAndroidJniObject::callObjectMethod() 有什么区别? 【发布时间】:2015-03-03 13:08:34 【问题描述】:

我注意到 Qt 文档提供了两种调用 android 本机方法的方法,但我不知道何时使用 QAndroidJniObject::callMethod 以及何时使用 QAndroidJniObject::callObjectMethod。规则是什么?

【问题讨论】:

【参考方案1】:

主要区别在于QAndroidJniObject::callMethod 返回一个原始数据类型,如jintjbyte,但QAndroidJniObject::callObjectMethod 返回一个QAndroidJniObject 类型的对象。

使用哪一个完全取决于您的需要和您要调用的函数的返回类型。如果你的函数返回像jobjectjstringjarray、...这样的对象类型,那么你绝对应该使用QAndroidJniObject::callObjectMethod。否则,您可以使用两者中的任何一个。

【讨论】:

以上是关于QAndroidJniObject::callMethod() 和 QAndroidJniObject::callObjectMethod() 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章