Qt for Android开发实例分析
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍"Qt for Android开发实例分析",在日常操作中,相信很多人在Qt for Android开发实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
千家信息网最后更新 2025年02月02日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安全错误
数据库的锁怎样保障安全
微信联不上服务器咋办
数据库的信息质量
北京pdu服务器专用电源
跑胡子软件开发
linux服务器网卡
电脑服务器主板品牌
家里电脑当服务器可以远程访问
蒙德服务器调整反转
2020年网络安全行业十大趋势
将数据上传到服务器上
搜索关于网络安全的手抄小报
数据分析和网络安全哪个难
数据库代码一览表
数据库操作系统在哪里下载
珠海正规软件开发靠谱吗
linux搭建轻量邮件服务器
安徽求职招聘软件开发公司
军转 软件开发面试题
web服务器什么用
软件开发工程面试问题
河南新一代软件开发服务推广
长沙云服务器租用平台
网络安全 幽默段子
网贷软件开发
2019网络安全月
mc的热门服务器
对软件开发模型的认识
网络安全厂商平均工资
税务开票系统服务器地址是什么
软件开发市场不行么