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
返回一个原始数据类型,如jint
或jbyte
,但QAndroidJniObject::callObjectMethod
返回一个QAndroidJniObject
类型的对象。
使用哪一个完全取决于您的需要和您要调用的函数的返回类型。如果你的函数返回像jobject
、jstring
、jarray
、...这样的对象类型,那么你绝对应该使用QAndroidJniObject::callObjectMethod
。否则,您可以使用两者中的任何一个。
【讨论】:
以上是关于QAndroidJniObject::callMethod() 和 QAndroidJniObject::callObjectMethod() 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章