Qt on Android c++与Java互相交互
来源:互联网 发布:mac maven 使用教程 编辑:程序博客网 时间:2024/06/07 06:48
这里做个例子,已经实现了他们互相交互,这里例子是整形和字符型。
可以先看一下我写的java简单案例(为了方便演示都做成静态了):
package com.demo.cppandjava;
public class democppandjava
{
private static int tmpNum = 1;
private static String tmpStr = "123";
public static void setInt(int num) {
tmpNum = num;
}
public static int getInt() {
return tmpNum;
}
public static void setString(String str) {
tmpStr = str;
}
public static String getString() {
return tmpStr;
}
}
来看一下对应互相交互函数: //Cpp与java交互
void MainWindow::cppAssignmentJavaInt(int num)
{
#ifdef Q_OS_ANDROID
QAndroidJniObject::callStaticMethod<void>(
"com/demo/cppandjava/democppandjava",
"setInt",
"(I)V",
num);
#endif
}
int MainWindow::cppUseJavaToInt()
{
#ifdef Q_OS_ANDROID
return QAndroidJniObject::callStaticMethod<jint>("com/demo/cppandjava/democppandjava", "getInt");
#endif
}
void MainWindow::cppAssignmentJavaString(QString str)
{
#ifdef Q_OS_ANDROID
QAndroidJniObject strTMP = QAndroidJniObject::fromString(str);
QAndroidJniObject::callStaticMethod<void>(
"com/demo/cppandjava/democppandjava",
"setString",
"(Ljava/lang/String;)V",
strTMP.object<jstring>());
#endif
}
QString MainWindow::cppUseJavaToString()
{
#ifdef Q_OS_ANDROID
QAndroidJniObject str = QAndroidJniObject::callStaticObjectMethod("com/demo/cppandjava/democppandjava",
"getString",
"()Ljava/lang/String;");
return str.toString();
#endif
}
整型是简单的,字符型稍稍要绕一下。要注意"()Ljava/lang/String;"这里有个分号哦!~
我已经把代码上传到CSDN:http://download.csdn.net/detail/u014597198/9816271
0 0
- Qt on Android c++与Java互相交互
- android与unity3d互相交互
- Android与js交互(互相调用)
- android 原生与web交互,java与js的互相调用
- Android NDK开发 Java与C互相调用实例详解
- Android NDK开发----- Java与C互相调用实例详解
- Android NDK开发----- Java与C互相调用实例详解
- Android Ndk中C与JAVA之间的互相调用
- android中Webview与javascript的交互(互相调用)
- android中Webview与javascript的交互(互相调用)
- Android中Webview与JavaScript的交互(互相调用)
- Android中Webview与javascript的交互(互相调用)
- android中Webview与javascript的交互(互相调用)
- Android与JS之间的互相调用交互(一)
- Android与JS之间的互相调用交互(二)
- android中Webview与javascript的交互(互相调用)
- android Fragment与Activity交互,互相发数据(附图详解)
- android中Webview与javascript的交互(互相调用)
- [sql] database
- python hbase读取数据发送kafka
- Redis启动报错问题
- 并发编程--CountDownLatch
- java面向对象 第一章 抽象和封装
- Qt on Android c++与Java互相交互
- 分库分表
- MYSQL
- NuttX 任务管理
- React.createClass 对决 extends React.Component
- 大话数据结构三:线性表的链式存储结构(静态链表)
- Rviz之tf坐标关系
- 获取列表中重复元素的索引值
- ./ffmpeg: error while loading shared libraries: libavdevice.so.57