安卓开发上位机基于Qt qwidget第一次一些事

话说为什么要用Qt搞安卓,那肯定是因为熟悉Qt啊,总不能能在学java那一套东西吧,我相信Qt搞出来的性能上会好很多......

目录

1、是开发环境搭建

2、关文件读写权限问题

3、关于调试

4、AP热点模式IP地址不是固定的

5、比较顺利的点


1、是开发环境搭建

这个是一开始遇到了很大问题,有关解决办法在

关于Qt For android第一次编译时出现的问题_莫听穿林打叶声儿的博客-CSDN博客

先在虚拟机上linux系统上搭建,已经编译成功了,但是连不上手机,然后有放弃,还是回到windows系统上花费奖金4天时间才搞定。

2、关文件读写权限问题

包括QSetting使用,QFile、QDataStream,权限的问题将近搞了两天

中间犯了一个低智商错误,就是一个文件怎么都写入失败,最后确定是文件名用了一个特殊字符导致。

复制代码
QT       += core gui network concurrent androidextras printsupport

不加这个模块,没法用QtAndroid这个模块,然后在mian.cpp开始的地方设初始化权限

复制代码
QtAndroid::PermissionResult r = QtAndroid::checkPermission("android.permission.WRITE_EXTERNAL_STORAGE");
    if(r == QtAndroid::PermissionResult::Denied) {
        QtAndroid::requestPermissionsSync( QStringList() << "android.permission.WRITE_EXTERNAL_STORAGE" );
        r = QtAndroid::checkPermission("android.permission.WRITE_EXTERNAL_STORAGE");
        if(r == QtAndroid::PermissionResult::Denied) {
            return 0;
        }
    }

    r = QtAndroid::checkPermission("android.permission.READ_EXTERNAL_STORAGE");
        if(r == QtAndroid::PermissionResult::Denied) {
            QtAndroid::requestPermissionsSync( QStringList() << "android.permission.READ_EXTERNAL_STORAGE" );
            r = QtAndroid::checkPermission("android.permission.READ_EXTERNAL_STORAGE");
            if(r == QtAndroid::PermissionResult::Denied) {
                return 0;
            }
        }

关于在那个什么AndroidManifest.xml文件里面加权限鸟用都没有;

3、关于调试

一直都是使用的真机连接,进行调试,编译速度比较慢,调试确实不方便,尤其是遇到问题,也没办法打断点,唯一能用的就只有qDebug();

4、AP热点模式IP地址不是固定的

最蛋疼的是都搞差不多了,发现小米平板那个AP热点模式IP地址不是固定的,真的是非常的疼啊,又开始寻找解决方案,有的人说要root、还要什么BT模式,我网上一查直接稀碎,确定放弃这个方案

还好最后关头发现这个动态的IP和网关IP还有DNS的IP是同一个,然后我就找下位机开发人员看看有没有方法读取这网关IP,毕竟这个热点不变的,是要先连上的,然后就然他们测试了一下,然后就很顺利的获取到了;

5、比较顺利的点

比如qt库使用和在windows上都是一样的,还有这个项目开始不打算使用OPencv了,我感觉可能不太容易搞,后来发现不用opencv效果直接拉胯,然后看了网上介绍基本上是一次性成功搞定。

相关推荐
其实防守也摸鱼6 分钟前
CTF密码学综合教学指南--第五章
开发语言·网络·笔记·python·安全·网络安全·密码学
网络工程小王18 分钟前
【LangChain 大模型6大调用指南】调用大模型篇
linux·运维·服务器·人工智能·学习
wangbing112523 分钟前
各linux版本的包管理命令
linux·运维·服务器
Joseph Cooper43 分钟前
Linux/Android 跟踪技术:ftrace、TRACE_EVENT、atrace、systrace 与 perfetto 入门
android·linux·运维
空中海1 小时前
安卓逆向03. 动态调试、抓包分析与 Frida Hook
android
S1998_1997111609•X1 小时前
论mysql国盾shell-sfa犯罪行为集团下的分项工程及反向注入原理尐深度纳米算法下的鐌檵鄐鉎行为
网络·数据库·网络协议·百度·开闭原则
比昨天多敲两行2 小时前
Linux基础开发工具(下)
linux·运维·服务器
AI精钢2 小时前
AI Agent 从上线到删库跑路始末
网络·人工智能·云原生·aigc
一起搞IT吧2 小时前
相机Camera日志实例分析之二十:相机Camx【照片后置4800/5000/6400万拍照】单帧流程日志详解
android·嵌入式硬件·数码相机·智能手机
linux修理工3 小时前
chrome官方下载地址
运维·服务器