Windows下基于Qt开发Android应用

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。
人工智能编程入门博客

作为一个嵌入式工程师,会一个上位机编程语言还是很有必要的,这里推荐各位有精力的学习一下Qt 。

学习Qt的优势:

  1. 学习的人多,资料相对丰富
  2. 拖拽控件即可完成界面设计,简单易用
  3. 最大的优势:跨平台

本次网文分享一下Qt下Android软件开发环境的搭建,完成本文的配置,可以完成Qt Windows和Android平台下的软件开发。

所需软件

安装 Qt 5.13.2

qt-opensource-windows-x86-5.13.2.exe 软件下载链接:

http://download.qt.io/archive/qt/5.13/5.13.2/

双击 qt-opensource-windows-x86-5.13.2.exe 进入安装界面,其中有如下所示一步需要输入Qt 账号,如果不想输入账号信息,可以在断网状态下进行安装。

我在断网的情况下,默认安装,在下面一步,具体选项如下所示:

如果电脑空间富余,建议全选安装。

然后默认下一步继续安装至结束。

安装SDK、NDK、JDK

SDK下载

SDK 下载链接:

https://www.androiddevtools.cn/

NDK下载

NDK 下载链接:

https://developer.android.google.cn/ndk/downloads/

解压SDK和NDK

打开SDK Manager.exe 软件:

我的SDK安装如下内容:

安装JDK

JDK 软件下载链接:

https://www.oracle.com/technetwork/java/javase/downloads/index.html

默认下一步安装JDK,安装完目录结构如下。

注意:Qt Android 环境对SDK 、 NDK、 JDK版本要求较高,建议选择上述已验证过环境。

Qt 创建工程

新建工程

选择Qt Widgets Application , 选择 Choose 进入下一步。

填写工程名称并选择工程所在路径:

构建工具选择 qmake 即可。

Base class 随便选一个皆可:

构建套件(Kits)选择:

选择版本控制工具,如果无,选择默认即可,点击完成

main.cpp文件中添加如下代码,解决Qt应用在Android手机中显示比例不对的问题,实现自适应高分辨率(DPI)。

#if (QT_VERSION >= QT_VERSION_CHECK(5,9,0))    
    QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif

双击.ui文件,进入UI设计界面:

在UI设计界面添加一Label ,修改其字体和文本。

Android手机通过数据线连接至电脑,开启开发人员选项->USB 调试,点击运行

在弹出对话框中,选择咱们的手机:

运行结果

手机端提示安装软件,安装完毕之后,运行效果如下:

可能遇到的问题

问题一:工具集中无Android选项

创建Android应用报错:Android has not been configured. Create Android kits

点击上图中的Configure按钮进入如下配置界面,配置JDK locationAndroid SDK的路径Android NDK的路径 ,具体配置如下:

选择菜单 工具-->选项 也可以进入上面的配置界面。

问题二:SDK软件包安装缓慢

选择Tools-->Options

更新代理:

问题三:初次编译下面步骤可能很慢

下面过程很慢,耐心等待即可。

问题四:程序如何在Windows下运行

项目 中,重新选择工具集为 Desktop Qt 5.13.2 MinGW 64-bit

重新运行,具体显示效果如下:

2021年,Qt 我们一起学起!

本公众号的2021年网文内容包括但不限于STM32、单片机、鸿蒙、Qt、小程序,欢迎感兴趣的朋友,持续关注。

2020年的网文汇总如下:
感谢有你,一路同行,历史文章汇总

资料获取

文章涉及软件,公众号后台回复关键字: Qt&Android 获取。

欢迎关注

程序员小哈带你玩转嵌入式,微信搜索:嵌入式从0到1,更多干货等着你。

  • 38
    点赞
  • 255
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
Qt for Android中,要实现开机自启的功能,可以通过以下步骤实现: 1. 在AndroidManifest.xml文件中添加启动广播接收器的声明。可以使用Qt提供的Android源文件模板进行修改,加入以下代码: ```xml <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <receiver android:name="your.package.name.BootReceiver" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> ``` 2. 在qtandroidextras模块中创建一个新的JNI类,并继承QtService。这个类将作为启动服务的入口点。可以使用以下代码: ```cpp #include <QtAndroidExtras/QAndroidJniObject> #include <QtAndroidExtras/QAndroidJniEnvironment> #include <QtAndroidExtras/QtAndroid> #include "yourjni.h" void YourJNI::startService() { QAndroidJniObject::callStaticMethod<void>("your/package/name/BootService", "start", "()V"); } ``` 3. 在YourJNI类中,创建一个静态的start方法,该方法将由Android的BootReceiver类调用。在这个方法中,你可以编写开机自启动的逻辑代码,例如启动你的Qt应用程序。 4. 在BootReceiver类中,重写onReceive方法,并在其中调用YourJNI类的startService方法,来启动你的服务。 5. 编译和部署你的Qt应用程序到Android设备。 这样,当Android设备开机后,BootReceiver类将会接收到BOOT_COMPLETED广播,并调用YourJNI类的startService方法,从而启动你的Qt应用程序。 请注意,需要在Qt for Android项目的.pro文件中添加以下行,以包含所需的模块和类: ``` QT += androidextras ```
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员小哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值