我的Volley代码没有发送放在PMap中的数据(地方数据的HashMap)。服务器只接收空白请求。
我编写这个HashMap代码就像我用我的Volley代码在我的其他应用程序中编写的那样,并且它在该应用程序中运行良好。唯一的区别是这是一个JSONArrayRequest,它是我在另一个应用程序中使用的StringRequest。
RequestQueue PlaceQueue = Volley.newRequestQueue(this);
JsonArrayRequest PlaceArrayRequest = new JsonArrayRequest(Request.Method.POST, url, new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
int i;
ArrayList<String> MArrList = new ArrayList<>();
ArrayList<String> PlaceList = new ArrayList<>();
for (i = 0; i < response.length(); i++) {
try {
MArrList.add(response.get(i).toString());
} catch (JSONException e) {
e.printStackTrace();
}
}
JSONObject TestJobj = null;
try {
for (i = 0; i < response.length(); i++) {
TestJobj = new JSONObject(MArrList.get(i));
PlaceList.add(TestJobj.get("PlaceName").toString() + "\n" + "Estimated Price: $" + TestJobj.get("EstimatedPrice").toString() + ".\n" + TestJobj.get("PlaceAddress").toString() + "\n" + TestJobj.get("OtherDetails").toString());
}
} catch (JSONException e) {
e.printStackTrace();
}
DisplayHotels(PlaceList);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Context context = getApplicationContext();
Toast VerrorToast = Toast.makeText(context, "Connection failed.", Toast.LENGTH_LONG);
VerrorToast.show();
}
}) {
protected Map<String, String> getParams() {
HashMap<String, String> PMap = new HashMap<String, String>();
PMap.put("PlaceType", placetype);
PMap.put("PlaceCity", placelocation);
return PMap;
}
};
PlaceQueue.add(PlaceArrayRequest);
服务器正在响应,但我只需要发送PlaceType和PlaceCity。
感谢您的时间。