簡體   English   中英

在qt中執行java文件

[英]Executing java file in qt

我正在嘗試在qt內執行一個Java文件,這是我的Java文件代碼:

import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;

public class Main extends AppWidgetProvider {

    @Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager,
                    int[] appWidgetIds) {
            // TODO Auto-generated method stub
            super.onUpdate(context, appWidgetManager, appWidgetIds);
    }
}

問題是如何調用此java文件,我很困惑&不知道如何調用函數onUpdate,有什么想法嗎?

要在Qt Android應用程序中運行Java代碼,您應該使用Qt Android Extras模塊,該模塊包含用於在Android上進行開發的其他功能。

您可以使用JNI從C / C ++調用Java函數或從Java回調C / C ++函數。

讓我們考慮一下您有一個靜態Java方法,例如:

package com.MyApp;

public class JavaClass
{
    public static int SomeMethod(int n)
    {
        ...
    }
}

首先,您需要將此添加到您的.pro文件中:

QT += androidextras

並包括相關的頭文件:

#include <QAndroidJniObject>

然后,您可以從C ++代碼中調用靜態java函數,例如:

bool retVal = QAndroidJniObject::callStaticMethod<jint>
                        ("com/MyApp/JavaClass" // class name
                        , "SomeMethod" // method name
                        , "(I)I" // signature
                        , val);

對於更詳細的解釋,你可以看到這個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM