gpt4 book ai didi

Android volley 不会在 POST 请求中调用 getParams

转载 作者:行者123 更新时间:2023-11-29 18:38:20 31 4
gpt4 key购买 nike

friend 们。我的带参数的 volley POST 请求有问题。我需要从远程 MySQL DB 获取数据并将其显示在回收器 View 中。为此,我使用了 Volley 网络请求。如果没有参数,它会从我的数据库加载所有数据。但是,当我添加 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();
}
}

最佳答案

尝试使用这个

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

也许这会有所帮助

关于Android volley 不会在 POST 请求中调用 getParams,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45106060/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com