我正在尝试使用 volley 进行网络服务调用并在 logcat 中打印响应。但我不知道为什么我没有得到回应。甚至没有任何错误信息。下面是我的代码。我知道我错过了一些东西。请纠正我。 private void syncData() { mProgressDialog.showProgressDialog("Initializing Please Wait..."); RequestQueue requestQueue = Volley.newRequestQueue(SalesDashboard.this); StringRequest stringRequest = new StringRequest(Request.Method.POST, SYNC_DATA_SALES, new Response.Listener<String>() { @Override public void onResponse(String response) { mProgressDialog.dismissProgressDialog(); Log.e("TAG", response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { mProgressDialog.dismissProgressDialog(); Log.e("TAG", error.toString()); } }){ @Override protected Map<String, String> getParams() throws AuthFailureError { HashMap<String , String> params = new HashMap<>(); String userrole = mSessionManagement.getLoggedInUser().get(SESSION_USER_ROLE); params.put("branch", mSessionManagement.getSelectedBranch()); params.put("staff_id", mSessionManagement.getLoggedInUser().get(SESSION_EMP_ID)); params.put("user_role", mSessionManagement.getLoggedInUser().get(SESSION_USER_ROLE)); params.put("user_dept", mSessionManagement.getLoggedInUser().get(SESSION_DEPT_IDS)); params.put("principal", mSessionManagement.getLoggedInUser().get(SESSION_PRINC_IDS)); if (userrole.equals(ADMIN) || userrole.equals(COUNTRY_MANAGER)) { params.put("user_div", mSessionManagement.getSelectedDivision()); } else { params.put("user_div", mSessionManagement.getLoggedInUser().get(SESSION_DIV_IDS)); } return super.getParams(); } }; requestQueue.add(stringRequest);}我也没有收到任何错误消息或任何类型的异常。我已经通过在浏览器上点击它来检查网络服务,响应在浏览器上正确显示,但无法在 android 中获取它。
2 回答
幕布斯7119047
TA贡献1794条经验 获得超8个赞
为什么你打电话super.getParams()回来params呢?也许它会根据您的要求出错。然后尝试如下
@Override
protected Map<String, String> getParams() throws AuthFailureError {
...
return params;
}
奖励:使用getMessage代替做toString()你的error对象
添加回答
举报
0/150
提交
取消