2016-08-31 1 views
1

Ici, je veux savoir pourquoi est getHeaders() et getParams() fonctions ne sont pas utilisés et de travail.?Volley bibliothèque android - getHeaders() n'est jamais utilisé & getParams() n'est jamais utilisé

  private String tag_json_obj = "jobj_req"; 

      ProgressDialog pDialog = new ProgressDialog(this); 

      String tag_json_obj = "json_obj_req"; 

      String url = "https://api.abc.xyz.com:3021/login"; 


      pDialog.setMessage("Loading..."); 
      pDialog.show(); 



      JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST, 
        url, obj, 
        new Response.Listener<JSONObject>() { 

         @Override 
         public void onResponse(JSONObject response) { 
          Log.d(AbcLogin.class.getSimpleName(), response.toString()); 
          pDialog.hide(); 
         } 
        }, new Response.ErrorListener() { 

       @Override 
       public void onErrorResponse(VolleyError error) { 
        VolleyLog.d(AbcLogin.class.getSimpleName(), "Error: " + error.getMessage()); 
        // hide the progress dialog 
        pDialog.hide(); 
       } 
      }); 

      /** 
      * Passing some request headers 
      * */ 

      @Override 
      public Map<String, String> getHeaders() throws AuthFailureError { 
       HashMap<String, String> headers = new HashMap<String, String>(); 
       headers.put("Content-Type", "application/json"); 
       return headers; 
      } 

      @Override 
      protected Map<String, String> getParams() { 
       Map<String, String> params = new HashMap<String, String>(); 
       params.put("user", "abc12"); 
       params.put("password", "xyzan"); 

       return params; 
      } 

      // Adding request to request queue 
      AppController.getInstance().addToRequestQueue(jsonObjReq, tag_json_obj); 

Je dois passer les en-têtes et les paramètres dans le code.

+0

Utilisation StringRequest à la place de JsonObjectRequest –

+0

j'ai essayé d'utiliser StringRequest mais il dit ne peut pas résoudre le constructeur. – Prateekro

Répondre

2
StringRequest stringObjectRequest = new StringRequest(httpMethod, url, new Listener<String>() { 
      @Override 
      public void onResponse(String response) { 

      } 
     }, new ErrorListener() { 

      @Override 
      public void onErrorResponse(VolleyError error) { 
       if(error != null && error.getMessage() != null) 
       { 
        Log.e("Response error", error.getMessage()); 
       } 
      } 
     } 
     ) 
     { 
      @Override 
      protected Map<String, String> getParams() throws AuthFailureError { 
       return params; 
      } 
      @Override 
      public Map<String, String> getHeaders() throws AuthFailureError { 
       return super.getHeaders(); 
      } 
     }; 
+0

où devrais-je ajouter l'en-tête? "Content-Type", "application/json"); – Prateekro

+0

Vérifiez la mise à jour de la réponse –

+0

Merci beaucoup Smith. ça a marché. – Prateekro