Qt on Android 使用JNI与第三方jar包

本文介绍了如何在Qt on Android项目中使用JNI与第三方jar包,展示了如何添加Java源码、引入第三方库,并通过实例讲解了Java代码如何调用jar包功能,同时提供了一个简单的下载网页内容的示例。
摘要由CSDN通过智能技术生成

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

    很多朋友在论坛和QQ群里问到这个,今天有时间写了个简单的示例。

    功能很简单,允许你输入一个web页面地址,使用Java的下载类库下载后用QTextEdit显示出来。

    版权所有:foruok。转载请注明出处:http://blog.csdn.net/foruok

效果展示

    初始效果如图1所示:


                   图1 useJar示例初始效果

    图2为点击"GET"按钮后下载到对应页面的效果:


                   图2 下载页面成功

    下载部分,为了显示如何使用jar包,我用了asynchttpclient,参考我的博文:Android开源框架AsyncHttpClient (android-async-http)使用

项目创建

    参考《Qt on Android:图文详解Hello World全过程》吧,没什么特别可说的。

    pro文件内添加“QT += androidextras”。

    创建一个AndroidManifest,package命名为an.qt.useJar。

    版权所有:foruok。转载请注明出处:http://blog.csdn.net/foruok

添加Java源码

    你可以任意的文本编辑器中编辑java源码,然后通过Qt Creator项目视图加到项目里,在其它文件那里鼠标右键点击,选择添加现有文件即可。参考下面几张图吧。


                图3 添加Java源码之右键菜单


                       图4 添加Java源文件之选择Java源文件


                图5 添加Java源文件OK

    修改AndroidManifest,把activity标签的android:name属性值修改为an.qt.useJar.ExtendsQtWithJava。这是必须的,因为我们的ExtendsQtWithJava.java实现的Activity就是这个名字。

    好了,Java代码添加结束。

添加第三方jar包

    这个没什么好说的,放在android/libs目录下即可。看图:


              图6 放jar包

    只要放好位置,Qt Creator编译项目时就会把这个jar包打包到APK里。

Java源码使用jar包

    这是java编程的内容了,import包名,然后使用即可。

源码分析

    咱先看Java侧的代码吧。

Java代码

    ExtendsQtWithJava.java:

package an.qt.useJar;import java.lang.String;import android.content.Context;import android.content.Intent;import android.app.PendingIntent;import android.os.Handler;import android.os.Message;import android.util.Log;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.net.Uri;import android.location.Criteria;import android.provider.Settings;import android.os.Bundle;import android.os.Environment;import java.io.File;import com.loopj.android.http.AsyncHttpClient;import com.loopj.android.http.AsyncHttpResponseHandler;public class ExtendsQtWithJava extends org.qtproject.qt5.android.bindings.QtActivity{    private static ExtendsQtWithJava m_instance;    private final 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值