Выполнение java-файла в qt

Я пытаюсь выполнить java-файл внутри qt, вот мой код 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, любые идеи?

Solutions Collecting From Web of "Выполнение java-файла в qt"

Чтобы запустить Java-код в приложении Qt Android, вы должны использовать модуль Qt Android Extras, который содержит дополнительные функции для разработки на Android.

Вы можете использовать JNI для вызова функции Java из C / C ++ или вызова функции C / C ++ из Java.

Давайте рассмотрим, что у вас есть статический метод Java:

 package com.MyApp; public class JavaClass { public static int SomeMethod(int n) { ... } } 

Сначала вам нужно добавить это в ваш .pro-файл:

 QT += androidextras 

И включите соответствующий файл заголовка:

 #include <QAndroidJniObject> 

Затем вы можете вызвать статическую java-функцию из вашего кода на C ++, например:

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

Для более подробного объяснения вы можете это увидеть.