Heim >Java >javaLernprogramm >Wie sende ich mehrteilige Anfragen mit Volley nach der Einstellung von HttpEntity?
Mehrteilige Anfrage mit Volley ohne HttpEntity
Einführung
Mit HttpEntity in API22 veraltet und entfernt In API23 können Android-Entwickler beim Senden mehrteiliger Anfragen mit Volley vor Herausforderungen stehen. Dieser Artikel enthält ein funktionierendes Codebeispiel für mehrteilige POST-Anfragen mit Volley ohne die Verwendung von HttpEntity.
Code Implementierung
MultipartActivity.java:
package com.example.multipartvolley; // ... As before @Override protected void onCreate(Bundle savedInstanceState) { // ... As before byte[] fileData1 = getFileDataFromDrawable(context, R.drawable.ic_action_android); byte[] fileData2 = getFileDataFromDrawable(context, R.drawable.ic_action_book); ByteArrayOutputStream bos = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(bos); try { // ... As before } catch (IOException e) { // ... As before } String url = "http://192.168.1.100/api/postfile"; MultipartRequest multipartRequest = new MultipartRequest(url, null, mimeType, multipartBody, new Response.Listener<NetworkResponse>() { @Override public void onResponse(NetworkResponse response) { // ... As before } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // ... As before } }); // ... As before } // ... Remaining methods
MultipartRequest.java:
package com.example.multipartvolley; // ... As before @Override public String getBodyContentType() { return mMimeType; } @Override public byte[] getBody() throws AuthFailureError { return mMultipartBody; } // ... Remaining methods
Aktualisiert mit Textdaten
Um Textdaten in die einzubeziehen Anfrage können Sie die getParams()-Methode in VolleyMultipartRequest überschreiben:
@Override protected Map<String, String> getParams() { Map<String, String> params = new HashMap<>(); // Add your text parameters params.put("api_token", "gh659gjhvdyudo973823tt9gvjf7i6ric75r76"); params.put("name", "Angga"); params.put("location", "Indonesia"); return params; }
Fazit
Der bereitgestellte Code bietet eine praktische Lösung für das Senden mehrteiliger Anfragen sogar mit Volley nach der Abschaffung von HttpEntity. Mithilfe der in diesem Artikel beschriebenen Methoden können Entwickler problemlos mehrere Dateien und Textdaten an einen Server senden, ohne dass komplexe HttpEntity-Implementierungen erforderlich sind.
Das obige ist der detaillierte Inhalt vonWie sende ich mehrteilige Anfragen mit Volley nach der Einstellung von HttpEntity?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!