2017-10-09 10 views
0

나는 안드로이드에 초보 다. 네트워크 통화 방법을 알아 냈습니다. JSON 데이터와 함께 헤더를 보내려고합니다. 코드 디버깅을 시도했지만 onResponse()이 아닙니다. 누군가 내가 뭘 잘못하고 있는지 말해 줄 수 있어요.Volley 응답을 제공하지 않음

아래 코드는 제 코드입니다.

String url = "https://api....."; 
    RequestQueue requestQueue = Volley.newRequestQueue(this); 
    JSONObject jsonObject = new JSONObject(); 
    try { 
     jsonObject.put("image", "https://i.imgur.com/5KdM.jpg"); 
     jsonObject.put("subject_id", "Elixabeth"); 
     jsonObject.put("gallery_name", "MyGallery"); 
     JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, url, jsonObject, new Response.Listener<JSONObject>() { 
      @Override 
      public void onResponse(JSONObject response) { 

       if (response != null){ 

       } 
       // do something... 
      } 
     }, new Response.ErrorListener() { 
      @Override 
      public void onErrorResponse(VolleyError error) { 
       // do something... 
      } 
     }) { 
      @Override 
      public Map<String, String> getHeaders() throws AuthFailureError { 
       final Map<String, String> headers = new HashMap<>(); 
       headers.put("Content-Type", "application/json"); 
       headers.put("app_id", ""); 
       headers.put("app_key", ""); 
       headers.put("Content-Length", "124"); 

       return headers; 
      } 
     }; 
     requestQueue.add(jsonObjectRequest); 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 

나는 동일한 데이터와 함께 우편 배달에서 같은 시도하고 나는 반응을 얻고있다.

+0

onErrorResponse 메소드를 시도해보십시오. stackTrace 로그가 있습니까? – tebitoq

+0

onErrorResponse()에 도달 했습니까? –

+0

나는 그것을 해결했다.. 그러나 그것은 다소 별났다. Content-Length는 API가 예상했던 문제였습니다.하지만 124 점을 보내고있었습니다.하지만 124 점은 우편 배달부에서 일하고있었습니다. 누군가 이유를 설명 할 수 있습니까? – Stackover67

답변

0

로그를 넣습니다. onResponse (JSONObject 응답) 메서드 Log.d ("Response", response.toString()); 및 onErrorResponse (VolleyError 오류) 메서드 Log.e ("Error", error.getMessage());. 그런 다음 logcat을 확인하면 잘못 된 것을 찾을 수 있습니다 ...

+0

해결되었지만 좀 이상합니다. Content-Length가 문제였습니다. API는 96을 기대하고 있었지만 124를 보냈습니다.하지만 124는 우편 배달부에서 일하고있었습니다. 누군가 이유를 설명 할 수 있습니까? – Stackover67

+0

JsonObjectRequest를 StringRequest로 변경하면 문제가 해결 될 수 있습니다. –