Heim > Java > javaLernprogramm > Wie mache ich mehrteilige POST-Anfragen mit Volley in Android nach der Entfernung von HttpEntity?

Wie mache ich mehrteilige POST-Anfragen mit Volley in Android nach der Entfernung von HttpEntity?

Linda Hamilton
Freigeben: 2024-11-30 18:17:12
Original
905 Leute haben es durchsucht

How to Make Multipart POST Requests with Volley in Android After HttpEntity's Removal?

Mehrteilige POST-Anfragen mit Volley und das Fehlen von HttpEntity

In Android API22 wurde HttpEntity veraltet und in API23 vollständig entfernt. Dieser Artikel enthält ein Arbeitsbeispiel zum Implementieren einer mehrteiligen POST-Anfrage mit Volley ohne HttpEntity. Die vorgeschlagene Lösung wird mit der Asp.Net-Web-API getestet.

Implementierungsdetails

Der Code besteht aus zwei Klassen:

MultipartActivity. java:

  1. Parst zeichnungsfähige Dateien in Byte Arrays.
  2. Erstellt einen mehrteiligen Anforderungstext mit den Byte-Arrays.
  3. Erstellt ein MultipartRequest-Objekt und fügt es einer Anforderungswarteschlange hinzu.

MultipartRequest. java:

  1. Erweitert die Request-Klasse und implementiert die notwendigen Methoden.
  2. Verarbeitet die Anforderungsheader, den Inhaltstyp und den Text.
  3. Parst die Netzwerkantwort und liefert sie an den Listener.

Zusätzliche Funktionen

Text hinzufügen Teile:

Wie im bereitgestellten Code vorgeschlagen, kann man der mehrteiligen Anfrage mithilfe der getParams()-Methode Textteile hinzufügen:

@Override
protected Map<String, String> getParams() {
    Map<String, String> params = new HashMap<>();
    params.put("param1", "value1");
    params.put("param2", "value2");
    return params;
}
Nach dem Login kopieren

Modularer Code für Wiederverwendbarkeit :

Um die Wiederverwendbarkeit zu verbessern, wurde der Code geändert überarbeitet:

class VolleyMultipartRequest extends Request<NetworkResponse>  {

    // ... other methods

    @Override
    protected Map<String, DataPart> getByteData() {
        // ... code for adding byte parts
    }
}
Nach dem Login kopieren

Verwendungsbeispiel:

VolleyMultipartRequest request = new VolleyMultipartRequest(Method.POST, url, new Response.Listener<NetworkResponse>() {
    // ... listener code
}, new Response.ErrorListener() {
    // ... error listener code
}) {
    @Override
    protected Map<String, String> getParams() {
        // ...
    }
    @Override
    protected Map<String, DataPart> getByteData() {
        // ...
    }
};
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie mache ich mehrteilige POST-Anfragen mit Volley in Android nach der Entfernung von HttpEntity?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage