QtAndroid调用java的例子

1.QtCreator创建QtExtra工程。

2.打开:项目->创建模板->确定。则可产生一个AndroidManifest.xml创建文件。


3.检查一下AndroidManifest.xml的所在目录。


4.参考Qt5.4.2\Examples\Qt-5.4\androidextras\notification的例子,将其子目录android-sources\src目录拷贝到你的工程里,如下:


5.修改src目录下NotificationClient.java文件,如下:

package
org.qtproject.example.notification;

import
android.content.Context;

 

public
class
NotificationClient
extends
org.qtproject.qt5.android.bindings.QtActivity

{


public
static
String
systemProxy()


{


String
hostdef=“”,
host=“”,
port=“”;


int
portdef=0;


try{


hostdef
=
android.net.Proxy.getDefaultHost();


portdef
=
android.net.Proxy.getDefaultPort();


host
=
System.getProperty(“http.proxyHost”);


port
=
System.getProperty(“http.proxyPort”);


}catch(Exception
e){

 


}


return
hostdef+“:”+portdef+“|”+host+“:”+port;


}

}

 

6.pro文件中添加androidextras库:

QT
+=
androidextras

7.main.cpp函数里,这样调用:

#include
<QtAndroidExtras/QAndroidJniObject>

#include
<QDebug>

QAndroidJniObject
stringArray
=
QAndroidJniObject::callStaticObjectMethod(“org/qtproject/example/notification/NotificationClient”,
“systemProxy”,“()Ljava/lang/String;”);

QString
my
=
stringArray.toString();

qDebug()
<<
“my:”
<<
my;

8编译测试: