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

Android Studio中Volley的JsonObjectRequest无法获取数据求助

问题排查与修复

代码中的明显错误

你的URL参数拼接格式有误,GET请求的参数应该是?key=value的形式,但你缺少了参数值前的等号,导致PHP端无法正确接收id参数:

// 错误写法
String url="http://192.165.0.196/android_msyql/consultar.php?id"+get_id;
// 修正后写法
String url="http://192.165.0.196/android_msyql/consultar.php?id="+get_id;

其他排查方向

  • 检查网络权限:确保AndroidManifest.xml中已添加网络权限
    <uses-permission android:name="android.permission.INTERNET" />
    
  • 确认请求队列初始化:检查requestQueue是否在Activity初始化阶段正确创建,示例:
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        requestQueue = Volley.newRequestQueue(this);
    }
    
  • 打印完整错误日志:当前错误回调仅弹出Toast,无法定位具体问题,修改为输出详细错误信息:
    @Override
    public void onErrorResponse(VolleyError error) {
        Log.e("VolleyError", "请求失败详情:", error);
        Toast.makeText(MainActivity2.this, "请求失败:" + error.getMessage(), Toast.LENGTH_SHORT).show();
    }
    
  • 验证PHP接口返回格式:确保consultar.php返回标准的JSONObject格式,示例正确返回:
    {"name":"测试名称","email":"test@example.com"}
    
    如果接口返回的是JSON数组(如[{"name":"测试名称"}]),需改用JsonArrayRequest替代JsonObjectRequest
  • 测试接口可用性:在手机浏览器中直接访问拼接后的完整URL,确认是否能返回预期的JSON数据,排除服务器或网络连通问题
  • 添加空值校验:获取get_id后先判断是否为空,避免生成无效URL:
    String get_id= ID.getText().toString().trim();
    if(get_id.isEmpty()){
        Toast.makeText(this, "ID不能为空", Toast.LENGTH_SHORT).show();
        return;
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 11:40:51