Qt for Android开发实例分析
发表于:2025-11-21 作者:千家信息网编辑
千家信息网最后更新 2025年11月21日,这篇文章主要介绍"Qt for Android开发实例分析",在日常操作中,相信很多人在Qt for Android开发实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
千家信息网最后更新 2025年11月21日Qt for Android开发实例分析
这篇文章主要介绍"Qt for Android开发实例分析",在日常操作中,相信很多人在Qt for Android开发实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Qt for Android开发实例分析"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
具体步骤如下:
1.Android平台的视频播放,只能使用qml的MediaPlayer
2.qml中控件的路径必须加file:// 例如:
Image{ source: "file:///mnt/usbhost1/Config/logo.png" }3.C++与qml中js的方法互调
QQuickView view; view.setSource(QUrl(QStringLiteral("qrc:///qml/MainView.qml"))); QObject *qmlObj =(QObject*) view.rootObject(); MainWnd *w=new MainWnd(object); //暴露C++类给qml供其调用,别名mainWndClass view.engine ()->rootContext ()->setContextProperty (QLatin1String("mainWndClass"),w); //c++调用qml中的js方法 //参数必须转换为QVariant QMetaObject::invokeMethod (qmlObj,"showRight",Q_ARG(QVariant,1)); //调用子项的js方法 qmlPlayer = qmlObj->findChild("playerArea"); QMetaObject::invokeMethod (qmlPlayer,"setVideoFile",Q_ARG(QVariant,currentVideoFile)); //MainView.qml Rectangle { anchors.fill: parent property int leftAreaWidth: this.width/5*4 property int rightAreaWidth: this.width/5 property int queueFontSize function showRight(isShow){ .... } Player{ id:playerArea //设置objectName,在c++中才能找到它 objectName: "playerArea" width: parent.width height: parent.height } }4.c++调用java Android api
在项目目录下建立目录\android\src\org\rophie\ProjectName\JavaClass.java
org\rophie\ProjectName即为java类的包名package org.rophie.ProjectName;
如我调用Android API调节系统音量
package org.rophie.ProjectName; import org.qtproject.qt5.android.bindings.QtActivity; import android.widget.Toast; import android.media.AudioManager; import android.content.Context; public class JavaClass extends QtActivity{ private static JavaClass m_instance; private static AudioManager mAudioManager; public JavaClass() { //构造函数必须 m_instance = this; } public static void setVolume(int vol){ if(mAudioManager==null){ mAudioManager = (AudioManager)m_instance.getSystemService(Context.AUDIO_SERVICE); } mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, vol, 0); } }C++调用:
QAndroidJniObject::callStaticMethod("org/rophie/ProjectName/JavaClass","setVolume","(I)V",3); //具体参照QAndroidJniObject类
5.BroadcastReceiver实现开机自启,和Android一模一样
public void onReceive(Context context, Intent intent) { ...... //JavaClass为继承QtActivity的java主类 Intent intent2 = new Intent(context, JavaClass.class); ...... }6.调用第三方jar包,在src同级目录下新建目录libs,将.jar拷入即可使用
到此,关于"Qt for Android开发实例分析"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
实例
实例分析
分析
开发
方法
目录
学习
更多
C++
帮助
实用
一模一样
接下来
函数
别名
参数
同级
子项
平台
控件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
文旅产业数据库
网络技术里面mss
软件开发研发中心岗位职责
服装制图软件开发
免费服务器和域名
命令创建mysql数据库
广东工控软件开发哪家可靠
软件开发合同数据
虹口区一站式软件开发信息推荐
创建数据库时建立了扩展名
永州学软件开发好不好
最安全的个人数据库
软件开发优秀简历模板
陕西定制化服务器厂家推荐
人从众网络技术有限公司
服务器承载力那家游戏做得好
安新县优比格网络技术服务部
易服牛网络技术
南京创宁网络技术有限公司
sdk会部署在服务器上吗
哪些软件开发适合女生
主域服务器两个网段怎么设置
王者能选择几个服务器
广银网络技术
网络安全防止与合理消费的方法
自己设计一个数据库连接池
扬州OA软件开发招聘网
高防服务器qjy168
软件开发项目的评价体系
石泉网络安全