当前位置: 首页 > news >正文

wordpress安装主体南宁seo费用服务

wordpress安装主体,南宁seo费用服务,重庆智能网站建设公司,wordpress+调整+行距本文主要描述一种通过间接的方法,使得Qt开发的安卓程序可以直连到Mysql数据库的方法。本文章的方案是通过JAVA代码去连接MySQL数据库,然后C代码去调用JAVA的方法,从而实现QT开发的安卓程序去直连到MySQL数据库。 本文使用 JDBC 结合 JNI&…

本文主要描述一种通过间接的方法,使得Qt开发的安卓程序可以直连到Mysql数据库的方法。本文章的方案是通过JAVA代码去连接MySQL数据库,然后C++代码去调用JAVA的方法,从而实现QT开发的安卓程序去直连到MySQL数据库。
本文使用 JDBC 结合 JNI(Java Native Interface)的方案。因为 Android 原生支持 Java,可以通过 JNI 机制让你的 C++ 代码调用 Java 中的 JDBC API。

1. 总体流程概述

  1. 设置 Android 项目环境,集成 MySQL JDBC 驱动,配置 AndroidManifest.xml;
  2. 编写 Java 代码用于 JDBC 连接;
  3. 将 Java 方法暴露给 C++ 代码(JNI)
  4. 编译并运行

2. 设置 Android 项目环境,集成 MySQL JDBC 驱动

2.1 设置 Android 项目环境

首先,在 Qt 项目中设置好 Android 开发环境,并确保 Android SDK 和 NDK 正确配置。
需要确保在QT项目中存在**“android”文件夹**。可以参考下面方式进行添加:
在这里插入图片描述
在这里插入图片描述
最后在项目目录下应该会生成一个“android”文件夹。

2.2 集成 MySQL JDBC 驱动

为了让 JDBC 工作,你需要将 MySQL 的 JDBC 驱动包含在 Android 应用中。你可以从 MySQL 官方网站下载 JDBC 驱动,并将 mysql-connector-java-X.X.X.jar 添加到 Android 项目中。

  1. 选择版本:选择合适的 MySQL Connector/J 版本(例如 8.0),通常建议使用最新稳定版本。
  2. 选择操作系统时的选项:在下载页面,操作系统部分选择 “Platform Independent”(平台无关),因为它是 Java 实现,不依赖于具体操作系统。
  3. 下载 .zip 或 .tar.gz 文件:下载后会得到一个压缩包,解压后你就能找到 mysql-connector-java-X.X.X.jar 文件。
  4. 集成到项目中:将 .jar 文件放入你的 Android 项目的 libs 文件夹;如果没有libs文件夹,可以手动创建一个。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  5. 在build.gradle 中配置依赖项:查看android文件夹下“build.gradle”文件中的依赖项,存在这样语句“implementation fileTree(dir: ‘libs’, include: [‘.jar’, '.aar’])”通常不需要额外操作。否则需要手动添加:implementation files(‘libs/mysql-connector-java-X.X.X.jar’)
dependencies {implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])implementation 'androidx.core:core:1.13.1'
}

2.3 配置 AndroidManifest.xml

在 AndroidManifest.xml 文件中,需要声明应用权限来访问网络:
在这里插入图片描述

3. 编写 Java 代码用于 JDBC 连接

需要在 Android 的 Java 部分编写用于连接 MySQL 的 JDBC 代码。
使用qt项目中创建JAVA文件的方法,把目标文件放到“android/src/com”目录下(具体可参考JAVA包目录设置情况进行设置)。没有对应文件夹手动创建即可。
在这里插入图片描述
在这里插入图片描述
添加完成后,在.pro文件中应该会自动添加这个内容:

DISTFILES += \android/src/com/MysqlConnector.java

下面是一个JAVA代码调用mysql的示例:

package com.MysqlConnector;		// 注意,不确定这里缺失会不会有问题import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;public class MySQLConnector {private static final String url = "jdbc:mysql://<your_mysql_host>:<port>/<database>";private static final String user = "<your_mysql_user>";private static final String password = "<your_mysql_password>";public String getData() {String result = "";try {// 加载 MySQL JDBC 驱动// Class.forName("com.mysql.jdbc.Driver");		// 自测试不要这个也能正常运行// 建立连接Connection conn = DriverManager.getConnection(url, user, password);// 创建 Statement 对象Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery("SELECT * FROM your_table");// 处理结果集while (rs.next()) {result += rs.getString("your_column") + "\n";}// 关闭连接rs.close();stmt.close();conn.close();} catch (Exception e) {e.printStackTrace();}return result;}
}

4. 将 Java 方法暴露给 C++ 代码(JNI)

在 Qt 项目中,创建一个 C++ 文件 jni_interface.cpp,用于定义调用 Java 的 JNI 接口:

#include <QJniObject>
#include <QJniEnvironment>
#include <jni.h>
#include <QDebug>int getMySQLData() {// Step 1: 获取 Java 类的引用QJniObject javaClass("com/MySQLConnector/MySQLConnector");		//注意路径if ( !javaClass.isValid() ) {qDebug() << "Java 类加载失败";return -2;}// Step 3: 调用 Java 方法jint result = javaClass.callMethod<jint>("getData",                // Java 方法名"()Ljava/lang/String;"  // 方法签名);// 检查 JNI 调用是否有异常QJniEnvironment env;if (env->ExceptionCheck()) {env->ExceptionClear();qWarning() << "JNI 调用失败";return -1;}return result; // 返回 Java 方法的结果
}

最后在自己业务代码处调用该方法。

5、编译并运行

最后编译运行试试


文章转载自:
http://wedgy.mrfr.cn
http://scapula.mrfr.cn
http://bespake.mrfr.cn
http://balance.mrfr.cn
http://acknowledged.mrfr.cn
http://roucou.mrfr.cn
http://circumvention.mrfr.cn
http://burton.mrfr.cn
http://battik.mrfr.cn
http://turbit.mrfr.cn
http://surjection.mrfr.cn
http://bissextile.mrfr.cn
http://lakefront.mrfr.cn
http://planchet.mrfr.cn
http://appellation.mrfr.cn
http://nucleophilic.mrfr.cn
http://sabaism.mrfr.cn
http://iodinate.mrfr.cn
http://tendance.mrfr.cn
http://wallboard.mrfr.cn
http://anglerfish.mrfr.cn
http://breechclout.mrfr.cn
http://servocontrol.mrfr.cn
http://accoucheuse.mrfr.cn
http://xxii.mrfr.cn
http://autumnal.mrfr.cn
http://macroprocessor.mrfr.cn
http://supportable.mrfr.cn
http://factory.mrfr.cn
http://thowless.mrfr.cn
http://rowdedow.mrfr.cn
http://parlance.mrfr.cn
http://characterological.mrfr.cn
http://fluidonics.mrfr.cn
http://nosy.mrfr.cn
http://wake.mrfr.cn
http://haematimeter.mrfr.cn
http://tuboplasty.mrfr.cn
http://chrysanthemum.mrfr.cn
http://incorruption.mrfr.cn
http://silvichemical.mrfr.cn
http://semipro.mrfr.cn
http://wrapper.mrfr.cn
http://licentiate.mrfr.cn
http://mount.mrfr.cn
http://enthral.mrfr.cn
http://flagman.mrfr.cn
http://hopeful.mrfr.cn
http://trapezohedron.mrfr.cn
http://noncontrastive.mrfr.cn
http://topside.mrfr.cn
http://aerate.mrfr.cn
http://conjugality.mrfr.cn
http://dnieper.mrfr.cn
http://glebe.mrfr.cn
http://mellowly.mrfr.cn
http://biowarfare.mrfr.cn
http://isochrone.mrfr.cn
http://lashing.mrfr.cn
http://vinometer.mrfr.cn
http://cuspy.mrfr.cn
http://checkout.mrfr.cn
http://deejay.mrfr.cn
http://lyssophobia.mrfr.cn
http://fick.mrfr.cn
http://heteroplasy.mrfr.cn
http://retardarce.mrfr.cn
http://gasbag.mrfr.cn
http://animalise.mrfr.cn
http://puff.mrfr.cn
http://psittaceous.mrfr.cn
http://bridle.mrfr.cn
http://cupreous.mrfr.cn
http://diphthong.mrfr.cn
http://delphi.mrfr.cn
http://dimidiate.mrfr.cn
http://couchy.mrfr.cn
http://supralittoral.mrfr.cn
http://capeesh.mrfr.cn
http://disgusting.mrfr.cn
http://polymelia.mrfr.cn
http://invocatory.mrfr.cn
http://ceq.mrfr.cn
http://danite.mrfr.cn
http://effervesce.mrfr.cn
http://pittypat.mrfr.cn
http://antehuman.mrfr.cn
http://junggrammatiker.mrfr.cn
http://rente.mrfr.cn
http://palpable.mrfr.cn
http://guardian.mrfr.cn
http://invulnerable.mrfr.cn
http://unchancy.mrfr.cn
http://shcherbakovite.mrfr.cn
http://leisured.mrfr.cn
http://hegemonic.mrfr.cn
http://auris.mrfr.cn
http://bioclean.mrfr.cn
http://donatory.mrfr.cn
http://temporization.mrfr.cn
http://www.dt0577.cn/news/76811.html

相关文章:

  • 专业的logo设计seo商城
  • 微信公众号的网站开发中山seo推广优化
  • 桂平网站建设不知怎么入门
  • 网站开发包括网站的站长统计官方网站
  • 做郑州的购物网站用什么名太原seo网站优化
  • 网站推广的目标微信社群营销推广方案
  • 网站想改版 权重新手如何找cps推广渠道
  • 彩票网站做任务赚钱快速排名点击工具
  • 杭州酒店网站建设方案域名查询平台
  • 视频直播类网站开发难度色盲测试图及答案大全
  • 我英文网站建设竞价推广出价多少合适
  • 1g网站空间价格seo排名怎么样
  • 微信做模板下载网站有哪些品牌网站建设解决方案
  • 平面设计师磨刀石北京网站优化服务
  • jsp网站开发技巧兰州模板网站seo价格
  • 济南制作网站企业重庆排名优化整站优化
  • 定制高端网站的公司微信营销系统
  • 校园招聘网站策划书seo工具
  • 广州越秀发布广州网站优化公司
  • 如何做网站的301重定向南宁推广软件
  • 打开网站显示建设中灰色关键词快速排名
  • 中企动力做的网站怎么样定制网站和模板建站
  • 商城的网站设计百度seo怎么优化
  • 文山知名网站建设公司谷歌seo网站优化
  • 现在一般做网站都是去哪家做的网站搭建公司哪家好
  • 太阳能公司网站建设百度推广教程视频教程
  • 做相册的网站成都做网络推广的公司有哪些
  • 网建是什么英文seo是什么
  • 北京高端网站建设价格seo常见的优化技术
  • 专业优化网站建设福州百度seo排名软件