You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio Java连接MySQL求助:适配驱动及点击事件代码

适配的JDBC连接器推荐

针对XAMPP 5.2.1内置的MySQL 5.5.x版本,推荐使用MySQL Connector/J 5.1.49——这是5.1系列的稳定终版,修复了5.1.4等早期版本的兼容性问题,完美适配MySQL 5.1~5.7,完全匹配你的环境。

在app模块的build.gradle中添加依赖:

dependencies {
    implementation 'mysql:mysql-connector-java:5.1.49'
}
点击触发的最简连接代码

Android禁止在主线程执行网络/数据库操作,必须在子线程处理。以下是按钮点击触发的测试代码:

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.sql.Connection;
import java.sql.DriverManager;

public class MainActivity extends AppCompatActivity {

    // 数据库连接参数
    private static final String DB_URL = "jdbc:mysql://192.168.0.101:3306/testdb?useSSL=false&serverTimezone=UTC";
    private static final String DB_USER = "root";
    private static final String DB_PASS = "";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button connectButton = findViewById(R.id.connect_button);
        connectButton.setOnClickListener(v -> new Thread(() -> {
            try {
                // 加载驱动
                Class.forName("com.mysql.jdbc.Driver");
                // 建立连接
                Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASS);

                // 回到主线程提示结果
                runOnUiThread(() -> Toast.makeText(MainActivity.this, "连接成功", Toast.LENGTH_SHORT).show());

                // 关闭连接
                if (conn != null && !conn.isClosed()) {
                    conn.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
                runOnUiThread(() -> Toast.makeText(MainActivity.this, "连接失败:" + e.getMessage(), Toast.LENGTH_LONG).show());
            }
        }).start());
    }
}
关键注意事项
  • 确保Android设备与运行XAMPP的电脑在同一局域网,且电脑防火墙开放3306端口。
  • 修改XAMPP的MySQL配置:打开my.ini(Windows)或my.cnf(Linux/Mac),将bind-address改为0.0.0.0,重启MySQL服务。
  • 给root用户授权远程访问:在MySQL命令行执行:
GRANT ALL PRIVILEGES ON testdb.* TO 'root'@'%' IDENTIFIED BY '';
FLUSH PRIVILEGES;

内容的提问来源于stack exchange,提问作者abdullah qureshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 23:12:30