#include "SDActivityDelegateSingleton.h"
#if defined(Q_OS_ANDROID)!defined(Q_OS_ANDROID_NO_SDK)
#include QtAndroid
void SDActivityDelegateSingleton::call( const QString methodName )
{
const QAndroidJniObject activity = QtAndroid::androidActivity( );
qDebug( "method name is: %s", qPrintable( methodName ) );
activity.callMethodvoid( qPrintable( methodName ) );
}
#else
void SDActivityDelegateSingleton::call( const QString methodName )
{
qDebug( "the desktop does not implement calling method: %s",
qPrintable( methodName ) );
}
#endif
然后在是SuperDoctorActivity.java:
// SuperDoctorActivity.java 这个Java文件重写了Android的Activity
package com.jcystudio.superdoctor;
import android.os.Bundle;
import android.util.Log;
import android.widget.LinearLayout;
import android.widget.FrameLayout;
import android.view.Gravity;
import org.qtproject.qt5.android.bindings.QtActivity;
……
public class SuperDoctorActivity extends QtActivity
{
@Override
public void onCreate( Bundle savedInstanceState )
{
super.onCreate(savedInstanceState);
……
SmartBannerManager.init(this);
}
……
public void showSmartAD( )
{
SmartBannerManager.show( this );
}
}
这样,通过QML就可以调用Java代码了,调用方法是:
……
function prepare( )
{
SDActivity.call( "showSmartAD" );// ←调用Java方法
this.focus = true;// 获得按键焦点,可以使用按键控制
Controller.clearBlocks( );
Controller.setupGame( mode, difficulty, map, actions, colors );
headerSprite.currentFrame = 2;// 小人指向平常的位置
readyMask.visible = true;
backgroundMusic.play( );
}
怎么用qt调用java?我做过QT写界面,再嵌入C语言程序完成通信部分,因为C++编译器兼容C语言,所以可行 。
extern "c"
{
/*C代码*/
}
但应该不可能嵌入
extern “java”
{
}
编译通不过的 。
【qt引用java代码 qt+java】关于qt引用java代码和qt+java的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- OPPO格斗的游戏,手机端格斗游戏
- 安卓手机夜魔注销苹果账号,安卓注销苹果id
- 学python爬虫要学哪些内容,python爬虫要学哪些东西
- 学前班体育游戏教案,学前班体育游戏教案大班反思
- python中递增函数 python中数字逐个递增
- postgresql引号,plsql单引号
- 2d即时网络游戏,2d网络游戏手游
- phpcms影视资讯模板,影视行业资讯app
- c语言编写itoa函数 c语言 atol