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

Android Studio中Kotlin连接本地MariaDB报通信链路失败如何解决

解决方案

1. 修正连接IP地址

你当前使用的127.0.0.1是Android设备/模拟器的本地回环地址,指向的是模拟器自身而非运行XAMPP的电脑主机:

  • 若使用Android模拟器测试,替换IP为模拟器专属的主机映射地址10.0.2.2
  • 若使用真机测试,替换IP为电脑的局域网IP(可在电脑终端执行ipconfig/ifconfig查看,一般为192.168.x.x格式)

同时需要补充JDBC连接参数适配8.0版本驱动,修改后的连接串示例:

jdbc:mysql://10.0.2.2:3306/invoices?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC

2. 添加网络相关权限

在项目的AndroidManifest.xml文件中添加网络访问权限,位置在<manifest>标签下、<application>标签外:

<uses-permission android:name="android.permission.INTERNET" />

若使用的Android版本在9以上,需要在<application>标签添加属性,允许明文流量访问:

<application
    ...
    android:usesCleartextTraffic="true"
    ...>

3. 子线程执行数据库连接

Android系统禁止在主线程执行任何网络操作,你当前的连接逻辑直接在主线程运行会触发异常,必须放到子线程/协程中执行,同时建议显式加载JDBC驱动避免类找不到的问题,修改后的代码示例:

package com.example.invoices
import android.util.Log
import java.sql.SQLException
import java.sql.DriverManager
import java.sql.Connection
import kotlin.concurrent.thread

object DBConncection {
    @JvmStatic
    fun connection(){
        // 开启子线程执行网络操作
        thread {
            try{
                // 显式加载驱动
                Class.forName("com.mysql.cj.jdbc.Driver")
                val conn = DriverManager.getConnection(
                    "jdbc:mysql://10.0.2.2:3306/invoices?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC", 
                    "root", 
                    "123"
                )
                Log.d("Amado","Success")
            }
            catch (e: Exception){
                Log.d("Amado",e.toString())
                e.printStackTrace()
            }
        }
    }
}

4. 开放数据库远程访问权限

XAMPP默认安装的MariaDB仅允许本地IP访问root用户,需要手动开权限:

  1. 打开XAMPP控制面板,点击Shell进入命令行
  2. 执行如下SQL命令:
GRANT ALL PRIVILEGES ON invoices.* TO 'root'@'%' IDENTIFIED BY '123';
FLUSH PRIVILEGES;

5. 连通性检查

如果使用真机测试,需要保证手机和电脑连接同一个WiFi,同时关闭电脑防火墙,或者在防火墙规则中开放3306端口的入站权限。

额外提示:直连JDBC的方式仅适合本地测试使用,生产环境不推荐,存在端口暴露、数据泄露等安全风险,正规实现需要搭建后端接口层,Android端通过接口请求操作数据库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 17:36:03