Я хочу отправить запрос JSONObject POST с Volley, который принимает один параметр. Код, который я написал и включил ниже, похоже, не получает никакого ответа в методе onResponse. Я не понимаю, в чем может быть проблема.
Я проверил на стороне сервера, и это работает как надо, с кодом PHP, повторяющим массив данных в кодировке JSON.
public void mySightingsJsonRequest() {
//get username held in shared preferences (KMcE)
HashMap<String, String> user = newSession.getUsername();
final String username = user.get(SessionUtility.KEY_USERNAME);
JSONObject obj = new JSONObject();
try {
obj.put("Username", username);
} catch (JSONException e) {
e.printStackTrace();
}
JsonObjectRequest mySightingsRequest = new JsonObjectRequest(Request.Method.POST, ConnectionURLs.MY_SIGHTINGS, obj, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d(TAG, "onResponse: MySightings response");
try {
JSONArray jsonArray = response.getJSONArray("server_response");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject sighting = jsonArray.getJSONObject(i);
int sightingRecordingNumber = sighting.getInt("Recording Number");
String sightingImgURL = sighting.getString("IMG");
String sightingCommonName = sighting.getString("Common Name");
String sightingUsername = sighting.getString("Submitted by");
double sightingLongitude = sighting.getDouble("Longitude");
double sightingLatitude = sighting.getDouble("Latitude");
mSightingList.add(new SightingSingle(sightingRecordingNumber, sightingImgURL, sightingCommonName, sightingUsername, sightingLatitude, sightingLongitude));
}
mMySightingsAdapter = new MySightingsAdapter(getActivity(), mSightingList);
mMySightingRecyclerView.setAdapter(mMySightingsAdapter);
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
mRequestQueue.add(mySightingsRequest);
}