1、创建一个新的Android项目,选择Empty Activity模板。
2、在activity_main.xml文件中添加一个用于输入数据库信息的EditText和两个Button,分别用于连接数据库和显示查询结果。
1、安装MySQL数据库,并创建一个名为test的数据库。
2、在test数据库中创建一个名为user的数据表,包含id、name和age三个字段。
3、在Windows上安装MySQL Connector/J,这是一个Java驱动,用于连接MySQL数据库,将下载的jar文件添加到项目的libs文件夹中。
4、在Android项目中添加对MySQL Connector/J的依赖,在build.gradle文件中添加以下代码:
dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) }
5、在MainActivity.java文件中编写连接数据库和查询数据的代码,首先导入所需的类:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement;
6、编写连接数据库的方法:
private Connection connectDatabase() { String host = etHost.getText().toString(); String port = etPort.getText().toString(); String user = etUsername.getText().toString(); String password = etPassword.getText().toString(); String url = "jdbc:mysql://" + host + ":" + port + "/test?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC"; Connection connection = null; try { connection = DriverManager.getConnection(url, user, password); } catch (Exception e) { e.printStackTrace(); } return connection; }
7、编写查询数据的方法:
private void queryData() { Connection connection = connectDatabase(); if (connection != null) { try { Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("SELECT * FROM user"); while (resultSet.next()) { int id = resultSet.getInt("id"); String name = resultSet.getString("name"); int age = resultSet.getInt("age"); tvResult.append("ID:" + id + ",姓名:" + name + ",年龄:" + age + ";"); } resultSet.close(); statement.close(); connection.close(); } catch (Exception e) { e.printStackTrace(); } finally { if (connection != null) { try { connection.close(); } catch (Exception e) { e.printStackTrace(); } } } } else { Toast.makeText(this, "连接失败", Toast.LENGTH_SHORT).show(); } }
下面是一个介绍,概述了安卓连接MySQL网络数据库的过程,包括在安卓设备上进行的操作和Windows环境下的相关操作:
步骤 | 安卓设备(Termux)操作 | Windows操作 |
1. 安装数据库 | 使用Termux的pkg 安装器安装MariaDB(pkg install mariadb ) | 准备远程MySQL服务器,确保它运行并可访问 |
2. 启动数据库 | 使用nohup mysqld & 命令在后台启动数据库 | 配置MySQL允许远程连接(修改my.cnf 或my.ini 文件,通常在[mysqld] 部分添加bindaddress = 0.0.0.0 ,并重启MySQL服务) |
3. 安装内网穿透工具 | 安装cpolar或其他内网穿透工具 | (可选)在Windows上安装对应内网穿透客户端,以便管理隧道 |
4. 创建安全隧道 | 使用cpolar在Termux上创建TCP隧道,映射MySQL的3306端口 | (可选)在Windows上通过内网穿透工具管理界面创建隧道 |
5. 获取公网地址 | 通过cpolar获取生成的公网地址 | 通过内网穿透工具获取可用于远程连接的公网地址 |
6. 远程连接测试 | 在Termux上,使用navicat或其他数据库连接工具,通过生成的公网地址和端口进行连接测试 | 在Windows上,使用navicat等工具,输入公网地址和端口尝试远程连接MySQL服务器 |
7. 固定远程连接地址 | 在cpolar官网后台预留固定TCP地址,并在Termux配置固定TCP端口 | (可选)在Windows端,将公网地址固定下来,便于后续直接连接 |
8. 数据库操作 | 在安卓端编写代码进行数据库的增删改查操作 | 在Windows端,使用数据库管理工具进行数据管理 |
9. 开发环境配置 | 在安卓开发环境中,添加MySQL连接驱动(如mysqlconnectorjava ) | 在Windows开发环境中,配置数据库连接,如设置数据库URL、用户名和密码 |
请注意,这个过程涉及到网络配置和安全设置,确保所有操作符合您所在环境的政策和安全标准,对于公网访问,出于安全考虑,应谨慎管理隧道的配置和数据库的访问权限。