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

Android应用连接XAMPP MySQL数据库失败问题求助

解决Android模拟器无法连接本地MySQL/PHP服务的问题

咱们先来拆解下你遇到的问题:

  1. 空指针异常的根源是downloadJSON方法返回了null(连接失败),导致后续解析JSON时传入了空值
  2. 核心原因是Android模拟器里的localhost/127.0.0.1指向的是模拟器自身,而不是你的开发电脑,所以无法访问电脑上的PHP服务

下面是具体的解决步骤:

1. 获取开发电脑的局域网IP地址

你需要用电脑的局域网IP代替localhost,这样模拟器才能找到你的本地服务器:

  • Windows:打开命令提示符,输入ipconfig,找到「以太网适配器 本地连接」或「无线局域网适配器 WLAN」下的IPv4地址(比如192.168.1.105)
  • Mac/Linux:打开终端,输入ifconfig(或ip addr),找到对应网络接口的inet地址

2. 修改Android代码中的请求URL

把Fragment_History.java里的请求地址替换成你的电脑IP:

// 原来的代码
downloadJSON("http://localhost/hist_login.php");
// 修改后(替换成你的实际IP)
downloadJSON("http://192.168.1.105/hist_login.php");

3. 确保本地PHP服务器允许局域网访问

如果你用的是XAMPP/WAMP这类工具:

  • 确认Apache服务器正在运行,端口为默认的80(如果改了端口,URL里要加上端口,比如http://192.168.1.105:8080/hist_login.php)
  • 关闭电脑的防火墙(或者在防火墙里添加规则,允许Apache的端口入站)
  • 测试:在浏览器里直接访问http://你的IP/hist_login.php,如果能返回正确的JSON数组(比如[{"h_rName":"测试名称","h_amount":100.0}]),说明PHP服务没问题;如果返回"Not connected...",要检查MySQL的用户名、密码、数据库名是否和PHP脚本里的一致

4. 修复空指针异常的防御性代码

即使连接正常,也可能因为网络波动返回空值,所以要在代码里增加判断:
修改Fragment_History.java的onPostExecute方法:

@Override
protected void onPostExecute(String s) {
    super.onPostExecute(s);
    // 先判断返回值是否为空
    if (s == null || s.trim().isEmpty()) {
        Toast.makeText(getActivity(), "无法连接到服务器,请检查网络", Toast.LENGTH_SHORT).show();
        return;
    }
    Toast.makeText(getActivity(), s, Toast.LENGTH_SHORT).show();
    try {
        loadIntoListView(s);
    } catch (JSONException e) {
        e.printStackTrace();
        Toast.makeText(getActivity(), "数据解析失败,请检查服务器返回格式", Toast.LENGTH_SHORT).show();
    }
}

5. 验证网络安全配置(可选)

你已经配置了network_security_config.xml和usesCleartextTraffic="true",这在Android 9+是允许HTTP明文请求的,没问题。如果还是有网络安全相关的错误,可以暂时把domain-config改成更宽松的配置(仅用于测试,生产环境不要这么做):

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

额外注意事项

  • 确保你的Android模拟器和开发电脑连接在同一个WiFi局域网下
  • 如果用的是真机测试,同样需要用电脑的局域网IP,并且真机和电脑在同一网络

内容的提问来源于stack exchange,提问作者Việt Tùng Nguyễn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:45:04