QT 学习遇到的问题记录1—QT C++ 调用 Java

最近公司移动开发的同学走了,临时起意看了下。

安卓开发的java不会,ios的oc也没真正耍过,以前C++还比较熟,看最近qt连出了两个版本5.4,5.5,好像还不错,就看了下。


qt支持跨平台,就不多说了,本来就看这个特点来玩玩。

先玩Qt for andriod ,一些原生的东西还是依赖安卓自己,那需要java,所以先玩了下 c++调用 java

遇到问题,返回值老是不对。具体问题下面说了。


1.使用JNI技术,使用已封装的QAndroidJniObject很方便,没用传统的JNI ,毕竟已经封装过的简单很多。

    但是也带来个问题,调用失败,没有异常抛出,也没有找到特别的能拿到相应错误信息的方法。原始JNI好像通过 Env可以拿异常信息。有知道的看客知会一声。

2.调用静态方法有  callStaticMethod 和 callStaticObjectMethod,前一个返回值是标准类型,可用模版参数
  第二个用于返回值是对象。 返回标准类型的很容易成功,基本没有机会出错。
3.调用实例方法有 callMethod 和 callObjectMethod,区别类似
4.返回值参数见帮助文档。
  容易出问题的点,
对象定义最后的分号(callStaticMethod 和callMethod 不需要)
[ 用于数组对象,不是数组不要加【就因为这个没注意浪费了一天时间】


Object Types

Type Signature
jobject L<fully-qualified-name>;
jclass
jstring
jobjectArray [L<fully-qualified-name>;
jarray [<type>
jbooleanArray [Z
jbyteArray [B
jcharArray [C
jshortArray [S
jintArray [I
jlongArray [J
jfloatArray [F
jdoubleArray [D
Primitive Types


Type Signature
jboolean Z
jbyte B
jchar C
jshort S
jint I
jlong J
jfloat F
jdouble D
Other


Type Signature
void V


-----

只说问题和要点,简约了点,,主要是给自己记录下。看客见谅

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值