Maison >Java >javaDidacticiel >Comment envoyer des requêtes multiparts avec Volley après la dépréciation de HttpEntity ?
Demande multipart avec Volley sans HttpEntity
Introduction
Avec HttpEntity obsolète dans l'API22 et supprimé dans l'API23, les développeurs Android peuvent être confrontés à des difficultés lors de l'envoi de requêtes en plusieurs parties à l'aide de Volley. Cet article fournit un exemple de code fonctionnel pour les requêtes POST multipart avec Volley sans utiliser HttpEntity.
Code Implémentation
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
Mise à jour avec les données texte
Pour inclure des données texte dans le requête, vous pouvez remplacer la méthode getParams() dans VolleyMultipartRequest :
@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; }
Conclusion
Le code fourni fournit une solution pratique pour envoyer des requêtes en plusieurs parties avec Volley, même après la dépréciation de HttpEntity. En utilisant les méthodes décrites dans cet article, les développeurs peuvent facilement POSTER plusieurs fichiers et données texte sur un serveur sans avoir besoin d'implémentations complexes de HttpEntity.
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!