iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Qt for Android开发实例教程
  • 743
分享到

Qt for Android开发实例教程

forandroid开发教程Android 2022-06-06 10:06:26 743人浏览 八月长安
摘要

本文讲述了使用Qt5.3.0开发Android应用的方法,由于官方资料较少,此处记录开发过程遇到的问题及解决方法。具体步骤如下: 1.Android平台的视频播放,只能使用qm

本文讲述了使用Qt5.3.0开发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<QObject*>("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<void>("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拷入即可使用

希望本文所述方法对大家的Android开发有所帮助。

您可能感兴趣的文章:Qt实现图片移动实例(图文教程)Qt之ui在程序中的使用-多继承法介绍Qt 实现桌面雪花飘落代码Qt定时器和随机数详解qt实现倒计时示例windows下Eclipse+PyDev配置python+PyQt4开发环境Qt qml中listview 列表视图控件(下拉刷新、上拉分页、滚动轴)QTabWidget标签实现双击关闭的方法(推荐)C++ Qt属性系统详细介绍


--结束END--

本文标题: Qt for Android开发实例教程

本文链接: https://www.lsjlt.com/news/26949.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤
    Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤 目录 Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤1、简介2、软件下载1、Java SDK2、Android S...
    99+
    2023-08-17
    android qt java qtforandroid
  • android蓝牙简单开发示例教程
    目录概述1、权限申请2、打开蓝牙3、接收蓝牙状态的改变4、扫描其他的设备5、蓝牙配对6、获取已经配对的设备7、连接设备概述 前段时间学习了一些蓝牙开发的知识,记录一下Android中...
    99+
    2024-04-02
  • Android开发入门教程
    当涉及到 Android 开发入门教程时,以下是一个详细的大纲,包含了一些常见的实践和指导: Android 概述    - 介绍 Android 平台的基本概念和特点    - 解释 Android 应用的组成和架构    - 说明 A...
    99+
    2023-09-02
    android
  • C++图形界面开发Qt教程:嵌套圆环示例
    目录嵌套圆环图运行示例总结Qt是一个跨平台框架,通常用作图形工具包,它不仅创建CLI应用程序中非常有用。而且它也可以在三种主要的台式机操作系统以及移动操作系统(如Symbian,No...
    99+
    2024-04-02
  • Android开发XY轴Board的绘制教程示例
    目录正文1. X轴的绘制2. Y轴的绘制绘制RightYAxisLabel3. Board 绘制正文 上篇大致介绍了RecyclerChart能够绘制的图表,以及一些特有的功能。从这...
    99+
    2022-12-09
    Android Board绘制X Y轴 Android Board
  • android studio开发app实例
    以下是一个简单的Android Studio开发App的实例: 打开Android Studio,并创建一个新项目。 选择一个适当的应用程序名称和包名称,然后选择目标API级别和默认Activity的模板。 在MainActivity...
    99+
    2023-09-05
    android studio android ide
  • 使用Kotlin开发Android应用教程
    使用Kotlin开发Android应用1、Kotlin介绍 [Kotlin](https://kotlinlang.org/)Kotlin是一门基于JVM的编程语言,它正成长为Android开发中用于替代Java语言的继承者。Ja...
    99+
    2023-05-31
    kotlin android roi
  • Android开发文件存储实例
    Android的文件存储,有I/O流的方式存储,与java一样,还有一种Android自己的SharePreferences存储方法。 下面看一个例子: 用I/O流的方式存储方法和S...
    99+
    2024-04-02
  • Android开发入门环境快速搭建实战教程
    这篇文章主要为大家展示了“Android开发入门环境快速搭建实战教程”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Android开发入门环境快速搭建实战教程”这篇文章吧。方法如下:在开始之前,我...
    99+
    2023-05-30
    android
  • Android和PHP MYSQL交互开发实例
    目录总述1.安卓客户端2.服务器端3.MYSQL数据库4.总结总述 简单的说,安卓客户端通过Http向本地服务器发出请求,访问指定的php代码,服务器端通过php代码执行数据库的操作...
    99+
    2024-04-02
  • Android开发Viewbinding委托实例详解
    目录背景从Crash到有意思的源码有趣的代码另外一些有意思的地方结尾背景 前一阵子我们在使用viewbinding的委托的时候碰到了点crash问题,然后发现了一个比较有意思的解决方...
    99+
    2024-04-02
  • Android音视频开发之MediaExtactor使用教程
    目录前言MediaExtactor使用MediaExtactor加载音视频文件代码获取轨道代码提取轨道数据信息一些源码细节分析前言 在之前学习如何使用MediaPlayer后,了解到...
    99+
    2024-04-02
  • Android开发笔记之Fragment的使用教程
    目录何为碎片特点如何引入碎片静态引入动态加载碎片的通信活动和碎片间的通信碎片和活动间的通信碎片和碎片间的通信何为碎片 官方文档中提到: A fragment represents a...
    99+
    2023-05-19
    Android Fragment Android Fragment使用
  • 使用Android Studio 开发自己的SDK教程
    由于之前一直没有写博客的习惯,所以这么些年下来回头看时并没有留下些实质的东西,所以从今天开始决定还是写点东西。最近刚刚才开始接触SDK的开发,先从简单的开始吧,今天就介绍使用Android Studio开始第一个SDKDemo的开发。先使用...
    99+
    2023-05-30
    android studio roi
  • Android音视频开发之MediaPlayer使用教程
    目录MediaPlayer简单使用缺陷AndroidMediaPlayer播放器封装状态机编写内部类初始化函数方法和回调小结MediaPlayer Android多媒体框架支持播放提...
    99+
    2024-04-02
  • Qt开发之使用socket实现远程控制
    Qt之使用socket实现远程控制 在前面的文章中介绍过Qt心跳包的实现方法,本篇文章将会介绍下位机通过心跳包和上位机之间进行数据交互和远程功能控制的实现方法。 首先介绍环境,下位机...
    99+
    2022-11-21
    Qt socket远程控制 Qt 远程控制 Qt socket
  • Android开发之ToggleButton实现开关效果示例
    本文实例讲述了Android使用ToggleButton实现开关效果的方法。分享给大家供大家参考,具体如下:activity_main.xml<?xml version="1.0" encoding="utf-8"?&...
    99+
    2023-05-30
    android togglebutton roi
  • Android面向单Activity开发实例分析
    这篇“Android面向单Activity开发实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Android面向单Ac...
    99+
    2023-07-05
  • Android音视频开发之MediaCodec的使用教程
    目录前言MediaCodec编解码流程生命周期接口简介前言 获取到音视频轨道(编解码格式),知道设备支持哪些编解码器,下一步就是创建编解码器去实现数据流的编解码过程了。在Androi...
    99+
    2024-04-02
  • Android使用JetpackCompose开发零基础起步教程
    目录永远的Hello World分解的HelloWorld代码预览函数先搭建好之后呢,我们就来做第1个例子。 永远的Hello World 先搭建好之后呢,我们就来做第1个例子,编程...
    99+
    2023-05-15
    Android Jetpack Compose Jetpack Compose入门
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作