【问题标题】:Android volley does not calling getParams in POST requestAndroid volley 不在 POST 请求中调用 getParams
【发布时间】:2017-07-14 14:57:54
【问题描述】:

朋友。我的凌空 POST 请求有问题。我需要从远程 MySQL 数据库中获取数据并将其显示在回收站视图中。为此,我使用了凌空网络请求。没有参数,它会从我的数据库中加载所有数据。但是,当我添加 getParams() 方法时,即使根据传递的参数可以使用相应的数据库条目,它也会返回一个空数组。这是我的代码..

public void setDonorsList(final VolleyCallBack volleyCallBack) {
    if (Utility.isNetworkEnabled) {
        final ArrayList<Donor> listOfDonors = new ArrayList<>();
        final ProgressDialog progressDialog = new ProgressDialog(FindDonorResult.this);
        progressDialog.setMessage("Loading Donors List. Please wait");
        progressDialog.show();
        StringRequest stringRequest = new StringRequest(Request.Method.POST, Constants.GET_DONORS_URL,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        progressDialog.dismiss();
                        try {
                            listOfDonors.clear();
                            JSONArray jsonArray = new JSONArray(response);
                            int count = 0;
                            while (count < 10) {
                                JSONObject jsonObject = jsonArray.getJSONObject(count);
                                Donor donor = new Donor(
                                        jsonObject.getString("fName"), jsonObject.getString("sName"), jsonObject.getString("emailid"),
                                        jsonObject.getString("pass"), jsonObject.getString("mobile"), jsonObject.getString("blood"),
                                        jsonObject.getString("age"), jsonObject.getString("gender"), jsonObject.getString("country"),
                                        jsonObject.getString("location"), jsonObject.getString("latitude"), jsonObject.getString("longitude"),
                                        jsonObject.getString("picname"), jsonObject.getString("pic")
                                );
                                int roundedDistance = (int) distance(Double.parseDouble(donor.getLatitude()),
                                        Double.parseDouble(latitude), Double.parseDouble(donor.getLongitude()),
                                        Double.parseDouble(longitude));
                                donor.setDistance(roundedDistance);
                                listOfDonors.add(donor);
                                count++;
                            }
                            Log.e("listOfDonors", String.valueOf(listOfDonors.size()));
                            volleyCallBack.onSuccess(listOfDonors);
                        } catch (JSONException e) {
                            e.getMessage();
                        }
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        error.getMessage();
                    }
                }
        ){
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String, String> params = new HashMap<>();
                params.put("bloodGroup", "A+");
                return params;
            }
        };
        NetworkRequestSingleTon.getOurInstance(FindDonorResult.this).addToRequestQue(stringRequest);
    } else {
        Toast.makeText(FindDonorResult.this, "No active internet connection.", Toast.LENGTH_SHORT).show();
    }
}

【问题讨论】:

  • 您的请求似乎没问题,我看不出有什么问题。您应该调试服务器中的代码,以了解为什么它在响应中返回空数组。
  • 但我的响应没有空数组。它包含从数据库中获取的数据。我用邮递员来验证结果...

标签: android mysql android-volley


【解决方案1】:

试试这个

 JSONObject jObj = new JSONObject(response)
JSONArray area = jObj.getJSONArray("");

也许这会有所帮助

【讨论】:

    【解决方案2】:

    最后,我想通了。问题出在 setDonorsList() 方法中。我已经硬编码了条件 while(count

    【讨论】:

      猜你喜欢
      • 2014-08-08
      • 2017-01-21
      • 2018-06-16
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 2021-03-11
      • 1970-01-01
      • 2018-02-24
      相关资源
      最近更新 更多