2016-08-31 6 views
1

Hier möchte ich erfahren, warum getHeaders() und getParams() Funktionen nicht verwendet werden und arbeiten.?Volley-Bibliothek Android - getHeaders() wird nie verwendet & getParams() wird nie verwendet

  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); 

Ich muss die Header und Parameter im Code übergeben.

+0

Verwenden Sie StringRequest anstelle von JsonObjectRequest –

+0

Ich habe versucht, StringRequest verwenden, aber es sagt, kann nicht Konstruktor auflösen. – Prateekro

Antwort

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

Wo sollte ich Header hinzufügen? "Inhaltstyp", "application/json"); – Prateekro

+0

Überprüfen Sie die aktualisierte Antwort –

+0

Vielen Dank Schmied. es funktionierte. – Prateekro

Verwandte Themen