Requêtes POST en plusieurs parties avec Volley et absence de HttpEntity
Dans l'API Android22, HttpEntity était obsolète et entièrement supprimé dans l'API23. Cet article fournit un exemple fonctionnel pour implémenter une requête multipart POST avec Volley sans HttpEntity. La solution proposée est testée avec l'API Web Asp.Net.
Détails d'implémentation
Le code se compose de deux classes :
MultipartActivity. java :
MultipartRequest. java :
Fonctionnalités supplémentaires
Ajout de texte Pièces :
Comme suggéré dans le code fourni, on peut ajouter des parties de texte à la requête en plusieurs parties à l'aide de la méthode getParams() :
@Override protected Map<String, String> getParams() { Map<String, String> params = new HashMap<>(); params.put("param1", "value1"); params.put("param2", "value2"); return params; }
Code modulaire pour la réutilisabilité :
Pour améliorer la réutilisabilité, le code a été refactorisé :
class VolleyMultipartRequest extends Request<NetworkResponse> { // ... other methods @Override protected Map<String, DataPart> getByteData() { // ... code for adding byte parts } }
Exemple d'utilisation :
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() { // ... } };
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!