Qt for android
文章平均质量分 85
꧁白杨树下꧂
这个作者很懒,什么都没留下…
展开
-
Qt for Android实现开机自启动
最近项目需要,在Android上编写的程序,需要实现开机自启动。笔者查询了下资料,基本原理如下:当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字符串常量表示为 android.intent.action.BOOT_COMPLETED。只要在程序中“捕捉”到这个消息,再启动程序入口之即可。我们要做的是做好接收这个消息的准备,而实现的手段就是实现一个BroadcastReceiver类。原创 2022-11-29 21:24:11 · 1691 阅读 · 3 评论 -
Qt for Android开发中的存储问题
笔者简单记录下,最近项目中遇到几个问题,供android开发的小伙伴参考下首先做点准备,明确一个概念,Android对内部存储和外部存储不是在物理上区分的,而是在逻辑上区分的。android会常用的存储位置如下/data/data/packname//data/user/0/这两个目录的区别是后者区分用户,一般使用前者就可以了这个目录会随着用户删除app而删除,app访问自己的目录,不需要做权限处理,但不能访问其他的app目录若用户要直接查看对应的目录或文件,一般需要root权限/storage/emula原创 2022-07-09 17:23:11 · 2485 阅读 · 0 评论 -
创建qml自定义视频源(Qt6.3.1+openCV4.6)
本篇文档是在上一篇的基础上实现的,上一篇文档如下创建qml自定义视频源(Qt6.3.1+取景器帧)_꧁白杨树下꧂的博客-CSDN博客_qml 视频笔者尝试使用Qt自身的类获取视频帧,在win10下测试没问题,但鸿蒙平板上测试,总出问题,估计其他android设备应该类似。所以笔者尝试使用openCV的库来实现关键代码如下 直接使用openCV获取视频帧,然后转换成RGBA的颜色空间,再包装成QVideoFrame。包装后的视频帧,就可以直接送到视频源中但要注意,不同的摄像头,通过openCV获取到的视原创 2022-07-09 15:33:35 · 639 阅读 · 0 评论 -
Qt+openCV学习笔记(十五)openCV4.6.0+android-ndk-r22-windows-x86_64编译动、静态库
前言:原本不想写本次教程的,但笔者发现,编译arm64-v8a与之前的步骤基本相同,但编译armeabi-v7a有点不同,所以笔者记录下本次编译过程以编译armeabi-v7a库为例,同时增加附加库本次假设读者已经正常安装Qt1.安装git这方便教程很多,不再重复。笔者使用的是git2.332.安装cmake这个教程也很多,但笔者没有安装,使用的是Qt安装时,下载的3.android NDK下载地址:不受支持的 NDK 下载 | Android NDK | Android Developers笔者没原创 2022-07-09 14:51:16 · 1166 阅读 · 0 评论 -
创建qml自定义视频源(Qt6.3.1+取景器帧)
笔者之前记录的是Qt5.15的,当前Qt6系列无法使用笔者本次记录下Qt6中,如何创建qml自定义视频源这个笔者在之前的文档中记录过,本次算是重复了关键代码如下笔者翻看源码时发现,QMediaCaptureSession中有关于QVideoSink的方法,但没有作为属性导出,不明白官方是什么用意。应该是可以在C++中正常使用的,笔者未测试,感兴趣的小伙伴可以试试代码很好理解,videoSink的onVideoFrameChanged会将视频帧直接扔出来正确地说,这是获取静态图片了,关键代码如下原创 2022-06-19 21:20:23 · 1947 阅读 · 0 评论 -
创建qml自定义视频源(Qt5.15.2+openCV4.6)
本篇文档是在上一篇的基础上实现的,上一篇文档如下创建qml自定义视频源(Qt5.15.2+设备帧)_꧁白杨树下꧂的博客-CSDN博客笔者尝试使用Qt自身的类获取视频帧,在win10下测试没问题,但鸿蒙平板上测试,总出问题,估计其他android设备应该类似。所以笔者尝试使用openCV的库来实现关键代码如下 直接使用openCV获取视频帧,然后转换成RGBA的颜色空间,再包装成QVideoFrame。包装后的视频帧,就可以直接送到视频源中但要注意,不到的摄像头,通过openCV获取到的视频帧,颜色空间原创 2022-06-18 18:07:20 · 968 阅读 · 1 评论 -
创建qml自定义视频源(Qt5.15.2+设备帧)
若是看过笔者之前的文档,应该会注意到,笔者显示自定义视频,使用的是QQuickImageProvider和Image类型实现。本次笔者记录另一种显示方式,创建视频源,然后使用VideoOutput显示因为Qt5和Qt6多媒体模块发生了很大的变化,故本次先记录下Qt5.15.2下的测试结果https://doc.qt.io/qt-5/qml-qtmultimedia-videooutput.html#source-prop在文档中,找到属性source,会发现如下内空If you are extending原创 2022-06-16 17:24:30 · 1068 阅读 · 1 评论 -
Qt+openCV学习笔记(十四)Qt6.3.0+openCV4.5.5+android_arm64-v8a测试拉取本地摄像头的流
前言在openCV4.5.2之前,自身的库无法在android下,拉取本地摄像头的流,现在的版本可以拉取了,笔者本次做下记录在开始前需要读者参考以下文档,编译库Qt+openCV学习笔记(十三)openCV4.5.5+android-ndk-r22-windows-x86_64编译动、静态库_꧁白杨树下꧂的博客-CSDN博客一、编写关键代码笔者使用Qt6.3.0测试的,关于版建工程、如何引用openCV库,笔者不再重复,直接上关键代码1.打开摄像头cv::VideoCaptu原创 2022-05-01 15:57:59 · 2830 阅读 · 0 评论 -
Qt+openCV学习笔记(十三)openCV4.5.5+android-ndk-r22-windows-x86_64编译动、静态库
前言:因工作需要,要测试openCV在android的拉流,笔者记录下本次编译过程以编译arm64-v8a库为例,同时增加附加库本次假设读者已经正常安装Qt一、安装需要的软件1.安装git这方便教程很多,不再重复。笔者使用的是git2.332.安装cmake这个教程也很多,但笔者没有安装,使用的是Qt安装时,下载的3.android NDK下载地址:不受支持的 NDK 下载 | Android NDK | Android Developers笔者没有单......原创 2022-05-01 15:04:30 · 1340 阅读 · 1 评论 -
Android的APK文件安装(QtCreator6.0.1+Qt6.2.2+jni+Arm64-v8a)
前言上一篇介绍的是Qt5.15.2进行apk文件安装,本文档介绍的是,使用Qt6.2.2虽然Qt6好多功能还在开发中,但新功能也很多如3D。笔者尝试了下,也可以正常使用的本次文档,记录通过jni进行APK文件安装一、实现方法Qt使用jni安装的原理基本相同,实现方法主要分如下两种:1.使用jni直接调用已写好的java代码2.使用jni直接调用java接口两者需要了解下java相关的代码,后者要求更高一点,每一步操作,都要经过jni。前者需要额外编写java代码,后者直接在.原创 2022-01-04 01:15:33 · 548 阅读 · 1 评论 -
Android的APK文件安装(QtCreator6.0.1+Qt5.15.2+jni+Arm64-v8a)
前言因项目需要,需要在鸿蒙系统下实现自动升级功能,应用程序使用的是Qt for android开发,因此只要实现android下的apk安装就可以了。网上资料不少,但真正可以用的不多,大部分资料还有些过时了。一、实现方法Qt使用jni安装的原理基本相同,实现方法主要分如下两种:1.使用jni直接调用已写好的java代码2.使用jni直接调用java接口两者需要了解下java相关的代码,后者要求更高一点,每一步操作,都要经过jni。前者需要额外编写java代码,后者直接在C++中调用即原创 2022-01-04 00:45:49 · 1832 阅读 · 0 评论 -
Qt for Android运行第一个程序(QtCreator6.0.1+Qt5.15.2+win10)
前言在前一篇文档中,笔者介绍了Qt6.2.2如何运行android程序,没有介绍Qt5.15.2的。本篇文档,简单介绍下相关问题,大部分都是类似的一、连接手机或android设备手机一般都直接使用USB线连接PC或笔记本就可以,本次只是运行一个简单的示例,直接上USB,就可以手机或Android设备连接后,选择文件一般去这台电脑(win7上是我的电脑),应该会多出一个图标,打开可以直接看到设备中的文件。我们可以在这里直接复制或修改设备中的文件若没有出现,可能是以下原因1.未安装.原创 2021-12-21 18:52:00 · 1588 阅读 · 0 评论 -
Qt for Android运行第一个程序(QtCreator6.0.1+Qt6.2.2+win10)
前言在前一篇文档中,笔者介绍了如何搭建android开发环境,但如何运行,没有介绍。本篇文档,运行两个简单的示例程序一、连接手机或android设备手机一般都直接使用USB线连接PC或笔记本就可以,本次只是运行一个简单的示例,直接上USB,就可以手机或Android设备连接后,选择文件一般去这台电脑(win7上是我的电脑),应该会多出一个图标,打开可以直接看到设备中的文件。我们可以在这里直接复制或修改设备中的文件若没有出现,可能是以下原因1.未安装设备驱动win10一般可以识原创 2021-12-21 17:49:53 · 3463 阅读 · 2 评论 -
Qt for Android开发环境搭建(QtCreator6.0.1+Qt5.15.2/Qt6.2.2+win10)
前言笔者很早就尝试使用Qt开发android程序,不得不承认,当前仍然比较小众。若是想一套代码的跨平台开发,或想要更高的执行效率,Qt值得一试一、安装Qt每个人需求不同,会安装不同版本的Qt,笔者本次以Qt6.2.2和Qt5.15.2为例,安装android开发环境打开Qt的在线安装工具,对于Qt6.2.2,记得选中minGW和Android的预编译库,其他选项,请读者根据需要选择对于Qt5.15.2,记得选中minGW和Android的预编译库,其他选项,请读者根据需要选择原创 2021-12-21 16:23:18 · 24436 阅读 · 8 评论 -
QR扫码综合示例教程(二十二)Qt5.15.2+Qt6.2.1(qml)+opencv4.5.4解决扫码聚焦、闪光灯(多线程、微信扫码)
前言:因笔者前期设备限制,并没有考虑摄像头聚焦、闪光灯相关,有小伙伴问到相关问题,所以笔者就测试了下。结果有点失望,但仍然共享给小伙伴们,以减少走弯路本教程是在Qt5.15.2+Qt6.2.1(qml)+opencv4.5.4实现扫码功能(多线程、微信扫码) 示例的基础上修改QR扫码综合示例教程(二十一)Qt5.15.2+Qt6.2.1(qml)+opencv4.5.4实现扫码功能(多线程、微信扫码)_aggs1990的专栏-CSDN博客一、Qt5.15.2摄像头聚焦问题1.分离取景器.原创 2021-11-14 23:00:07 · 2749 阅读 · 0 评论 -
QR扫码综合示例教程(二十一)Qt5.15.2+Qt6.2.1(qml)+opencv4.5.4实现扫码功能(多线程、微信扫码)
前言:在前面的教程中,使用openCV的库实现了扫码功能,但实际使用时却很不理想。本次教程使用微信的扫码代码来测试本教程是在Qt5.15.2+Qt6.2.1(qml)+opencv4.5.4实现扫码功能(多线程) 示例的基础上修改QR扫码综合示例教程(二十)Qt5.15.2+Qt6.2.1(qml)+opencv4.5.4实现扫码功能(多线程)_aggs1990的专栏-CSDN博客一、准备openCV库微信的扫码在附加库里,所以必需要自己编译官方源码,请需要的小伙伴们自己参考以下链接..原创 2021-11-11 23:41:40 · 6325 阅读 · 0 评论 -
Qt+openCV学习笔记(八)openCV4.5.4+android如何使用动、静态库
前言:在Android下使用openCV的库,与在其他系统下的原理基本相同,但又有点差异。本次笔记记录下具体的使用方法,供小伙伴们参考一、使用官方的静态库静态库使用时,要注意,若库与库之前有相应的依赖,加载的先后顺序不变,若是无法预知需要使用哪些库,可以按照如下的方法测试需要哪些库1.先放入$$ANDROID_OPENCV/libs/arm64-v8a/libopencv_java4.so在最下面2.把第三方库放在前面3.把$$ANDROID_OPENCV/staticlibs/ar原创 2021-11-11 22:46:17 · 6236 阅读 · 0 评论 -
QR扫码综合示例教程(二十)Qt5.15.2+Qt6.2.1(qml)+opencv4.5.4实现扫码功能(多线程)
前言:本篇教程基本集成了之前的教程,实现了扫描二维码功能,虽然还存在部分问题,但也算是个比较完整的程序了本教程是在Qt5.15.2+Qt6.2.1(qml)拍照捕获视频帧(示例合并) 示例的基础上修改一、修改pro工程文件修改工程文件是为了添加openCV的库一、添加处理类可以直接从 QR扫码综合示例教程(九)Qt5.15.2+Qt6.2.1(widget)+opencv4.5.4实现扫码功能(多线程)的示例中复制过来类Tool_Process头文件修改如下class T..原创 2021-11-10 22:37:18 · 2492 阅读 · 0 评论