android 上使用 qt 的开源项目是 necessitas 项目地址是 http://sourceforge.net/projects/necessitas/files/
根据你的平台下载相应的necessitas QtCreator 安装(我下的 necessitas 0.3)
我这里用的Linux
下载好后安装,根据需要选择你要下的东西,比如 Ant ,Android SDK之类 (注:ant必须要 1.8.0以上 ,Android SDK 必须要有plarform-tools,如果不知道就不要选择 直接 默认即可。)
然后他自己下载组件安装(这个跟QtSDK的包管理器做的差不多)
装好后我们先建立一个 Android虚拟机 我建立是Android 2.2 版本的
然后用QtCreator 建立一个 Test 的移动项目
如图
选择目标要选 Android
然后我们零星 在UI文件上画一个按钮
注册事件代码如下
void MainWindow::on_pushButton_clicked()
{
QMessageBox::information(this,tr("中文"),tr("提醒 你点了 pushButton"));
}
然后跟PC 上一样设置 中文编码
#include "mainwindow.h"
#include <QtGui/QApplication>
#include <QTextCodec>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTextCodec* codec = QTextCodec::codecForName("GBK");
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForTr(codec);
MainWindow mainWindow;
mainWindow.setOrientation(MainWindow::ScreenOrientationAuto);
mainWindow.showExpanded();
return app.exec();
}
(!这里我都是把QtCreator编辑器的默认编码设置成了 GBK)
之后Crtl + B 编译 Crtl + R运行
运行的时候他会报错 说是找不到 ministro 服务 在这里 http://sourceforge.net/projects/ministro.necessitas.p/files/
这个是干神马的呢 ,据我看他源码了解(这里 git clone git://git.code.sf.net/p/necessitas/ministro/git necessitas-ministro-git 不过貌似 源码 跟 ministro.apk有点脱节 )
它是一个Android Service ,通过的ADIL访问的。他的作用是根据你当前Android 系统的环境 下载相应 Qt的Lib文件 比如 libQtCore.so libQtGui.so,外带 Qt启动代理程序 来装载这些 链接库文件 实现 jni代理调用等,这个是KDE 的一个开源项目(很难找。。。https://projects.kde.org/projects/playground/mobile/necessitas/android-qt/repository
怀疑 Ubuntu for Android 出来之后 KDE 也会有动作了)
你安装了之后 ,他再次启动Qt 程序 他会根据你程序的需要下载库,我这里只是简单测试,所以大致下载了libQtCore.so libQtGui.so
还有一个 QtIndustrius-8.jar
(主要类
org.kde.necessitas.industrius.QtActivityDelegate
这里可以看 https://projects.kde.org/projects/playground/mobile/necessitas/android-qt/repository/revisions/master/entry/src/android/jar/src/org/kde/necessitas/industrius/QtActivityDelegate.java
)
这个就是 Qt启动代理程序
然后就是它加载各个lib,然后启动你的lib.so的main和注册窗口句柄到Qt,并回调 你Qt项目里面Android 类文件 QtActivity.java 启动 你项目,更有QtActivity.java 链接了各个事件在通过 java 反射回调QtActivityDelegate
形成各个事件
这个就是他的运转过程
下面是程序是在虚拟机上执行的截图
似乎QMessagebox 实现的不太好看。
在我的真机(I9100 Android 2.3.5)上测试,执行效果一样
- 大小: 88.3 KB
- 大小: 21.3 KB
分享到:
相关推荐
开发者可以使用Qt Creator作为集成开发环境(IDE),编写用C++或QML(Qt Meta Object Language)编写的代码,然后将其部署到Android设备上。 **手势事件** 在移动设备上,用户通常通过触摸屏幕来与应用交互。Qt提供...
在开发跨平台应用程序时,Qt for Android 是一个强大的工具,它允许使用 C++ 语言创建原生的 Android 应用程序。本项目标题为“qt for android图片选择器”,这意味着我们要探讨如何在 Qt 应用中集成一个功能,让...
QAndroidJniObject activity = QtAndroid::androidActivity(); QAndroidJniObject permissionString = QAndroidJniObject::fromString(permission); int result = activity.callMethod("checkSelfPermission", ...
Qt for Android使得开发者能够使用C++和Qt框架在Android平台上构建原生应用程序,提供了一种高效且功能丰富的开发环境。这个“Qt for Android简单示例”将引导我们了解如何在Android上构建和运行Qt应用。 **开发...
Qt for Android 是一个开源框架,它允许开发人员使用 Qt 编程环境来创建原生的 Android 应用程序。这个框架结合了 Qt 的强大功能和 Android 的广泛设备覆盖,为开发者提供了一种跨平台的解决方案,可以在多个操作...
首先,Qt for Android是Qt项目的一部分,它使得开发者可以使用Qt框架在Android设备上构建和运行应用。Qt提供了丰富的GUI库和各种功能,让开发者能用C++进行高效开发,同时保持跨平台兼容性。 JNI是Java平台的一部分...
### QT for Android 配置详解 #### 一、前言 随着移动互联网的发展,跨平台开发框架成为软件开发领域中的重要工具之一。其中,Qt 是一个非常强大的跨平台应用程序开发框架,支持包括 Windows、Linux、macOS 和各种...
本文将详细介绍如何使用Qt for Android调用原生系统的摄像头进行录像,并保存录制的视频输出。 首先,我们需要理解Qt中的多媒体模块,即`Q Multimedia`框架。这个模块提供了与多媒体内容交互的能力,包括音频、视频...
QT for Android是Qt框架在Android平台上运行的一种实现,它允许开发者使用C++和Qt库来构建原生的Android应用。Service在Android系统中扮演着重要的角色,它可以在后台长时间运行,即使用户离开应用界面,Service依然...
【Qt for Android 音乐播放器 QML 界面】是一个使用Qt框架开发的Android平台上的音乐播放器应用。QML(Qt Meta Language)是Qt提供的一种声明式语言,用于构建用户界面,它允许开发者以一种简洁、直观的方式定义UI...
总结,Qt for Android为开发者提供了丰富的功能,使得使用C++开发Android应用变得可能。通过以上方法,你可以实现Toast弹窗、本地通知、后台界面提示以及资源系统白名单的管理,从而提升应用的用户体验和交互性。...
Qt for Android是一个用于在Android上进行开发的Qt平台,允许使用C++语言开发Android软件。该平台提供了丰富的库和工具,能够快速开发高质量的Android应用程序。 三、二维码扫描软件设计 本文中提到的二维码扫描...
Qt for Android实现自动更新app,安装apk文件,qml自动更新 通过调用修改Java函数来实现对私有数据的读写
在Qt for Android中,你可以使用QCamera模块来访问和控制设备的摄像头。要实现一个浮动的摄像头预览,你需要创建一个QCameraViewfinder并将其添加到QQuickWindow中,同时处理好权限问题,确保应用有使用摄像头的权限...
总之,"qt for android: QJniObject实例"涉及到的核心知识点是使用Qt的QJniObject类在C++和Android的Java层之间建立桥梁,实现数据通信和方法调用。这使得开发者可以在充分利用C++的性能优势的同时,利用Android的...
Qt for Android 是一个开源框架,它允许开发人员使用Qt(一种跨平台的应用程序开发框架)在Android设备上创建原生应用程序。Qt是一个功能强大的工具,它支持C++和QML语言,提供了丰富的图形用户界面(GUI)库和系统...
Qt for Android 需要的文件Ministro II.apk
QT for Android 是一种使用 QT 框架开发 Android 应用的技术,允许开发者使用 QT 语言开发 Android 应用程序,而不需要学习 Java 语言。下面是使用 QT for Android 开发 Android 应用的详细指南。 一、安装 ...
- **配置Qt for Android环境**:在Qt Creator中,配置Android设备和SDK/NDK路径。在项目设置中,确保选择了正确的Android构建套件和目标设备。 - **新建Android项目**:在Qt Creator中,创建一个新的Qt项目,选择...
这里的“qt for Android”意味着该应用是使用Qt库开发的,可以运行在Android平台上。 3. **蓝牙**:蓝牙是一种短距离无线通信技术,常用于设备间的无线配对和数据交换,如手机与耳机、键盘或智能设备之间的通信。在...