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
相关产品推荐
相关产品推荐

