Android volley Come submit la richiesta con entrambe le intestazioni di authentication e l'object Json nel corpo

Devo submit tramite volley una richiesta http con l'intestazione di authentication e l'object Json nel corpo. Bu non ho trovato una richiesta per questo in volley.

Ho trovato GsonRequest e JsonObjectRequest. Metodo GsonRequest int, Url String, Classe clazz, Intestazioni mappa, Listener listener, ErrorListener errorListener, Gson useGson)

  • Anteprima di un URL in android, il modo in cui fa la facebook prima di submit un collegamento (anteprima di collegamento)
  • Utilizzo elevato della CPU con emulatore Android (qemu-system-i386.exe)
  • Ottieni la data da datepicker utilizzando il dialogo
  • ImageView.setImageURI NON funziona quando si tenta di assegnare un R.drawable.X Uri
  • Come interrompere la chiamata in output in Android?
  • Come escludere un'applicazione specifica da ACTION_VIEW Intent?
  • JsonObjectRequest (metodo int, java.lang.String url, jsonRequest di JSONObject , listener di Response.Listener, errorListener di Response.ErrorListener)

    Hai idea di cosa fare?

  • Tornate alla schermata precedente sul tasto Backbutton premuto dopo aver risposto alla notifica
  • Android Outofmemory disegnabile
  • Database di copia di Android da interno a quello esterno
  • Problema di scala di Android ImageView e traduzione
  • Come disegnare il cerchio di base in OpenGL ES 2.0 Android
  • Come visualizzare il bordo all'image?
  • 3 Solutions collect form web for “Android volley Come submit la richiesta con entrambe le intestazioni di authentication e l'object Json nel corpo”

    Nella class Richiesta, sovrascrivere getHeaders() per submit intestazioni personalizzate

    Per submit i parametri nel corpo di richiesta è necessario ignorare il metodo getParams () o getBody () delle classi di richiesta

    qui descritto:

    Richieste HTTP asincrone in Android utilizzando Volley

    provare questo codice

     @Override public Map<String, String> getHeaders() throws AuthFailureError { HashMap<String, String> params = new HashMap<String, String>(); String creds = String.format("%s:%s","USERNAME","PASSWORD"); String auth = "Basic " + Base64.encodeToString(creds.getBytes(), Base64.DEFAULT); params.put("Authorization", auth); return params; } 

    Entrambi i methods getHeaders () e getParams () possono essere usati contemporaneamente per submit i dati separatamente come intestazione e corpo.

     JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { Log.d(TAG, response.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.d(TAG, error.toString()); } }) { @Override public Map<String, String> getHeaders() throws AuthFailureError { HashMap<String, String> headers = new HashMap<>(); headers.put(headerKey, headerValue); return headers; } @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String, String> params = new HashMap<>(); params.put(bodyKey, bodyValue); return params; } }; VolleySingleton.getInstance(getActivity()).addToRequestQueue(jsonObjectRequest); 

    Questo ha funzionato per me !!

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.