2016-12-19 1 views
-2

Mon code pour objet de connexion est -Comment implémenter ceci (BufferedWriter) en utilisant Volley?

OutputStream os = conn.getOutputStream(); 
     BufferedWriter writer = new BufferedWriter(
       new OutputStreamWriter(os, UTF)); 
     writer.write(getQuery(params)); 
     writer.flush(); 
     writer.close(); 
     os.close(); 

et mon getQuery (params) est -

public String getQuery(List<NameValuePair> params) throws UnsupportedEncodingException 
{ 
     StringBuilder result = new StringBuilder(); 
     boolean first = true; 

    for (NameValuePair pair : params) 
    { 
     if (first) 
      first = false; 
     else 
      result.append("&"); 

     result.append(URLEncoder.encode(pair.getName(), "UTF-8")); 
     result.append("="); 
     result.append(URLEncoder.encode(pair.getValue(), "UTF-8")); 
    } 

    return result.toString(); 
} 

Répondre

-2

Ceci est une mauvaise pratique sujette à erreur, essayez d'utiliser la bibliothèque Retrofit à la place.

+0

* Ceci est une mauvaise pratique sujette aux erreurs * ... qu'est-ce qui est une si mauvaise pratique ... et pourquoi? ... .... * essayez d'utiliser la bibliothèque Retrofit à la place. * Pourquoi? et pour quoi? – Selvin

+0

Parce que tous les paramètres d'url, json formant et l'analyse est effectuée manuellement. Il peut facilement être fait par la bibliothèque Gson, qui est utilisée avec retrodit. En passant, il prend également en charge rxJava afin que vous puissiez facilement traiter les demandes en arrière-plan. –

+0

Mais vous ne connaissez pas ses besoins. Et s'il veut obtenir un fichier binaire? ... alors ni gson ni retrofit ne l'aidera ... – Selvin