Comment passer de HttpClient pour HttpUrlConnection?

Je suis entrain de créer une application Android et j'ai envoyer des données à partir de l'application Android de servlet par HttpClient. J'utilise HttpPost méthode.

J'ai lu dans Android site des développeurs d'Apache HttpClient bibliothèque a quelques bug sur Android Froyo 2.2 et après tout c'est une bonne pratique à utiliser HttpUrlConnection au lieu HttpPost. Donc, je veux convertir mon HttpPost code de HttpUrlConnectio mais ne savent pas comment.

Je vous poste mon code Android ainsi que servlet code ici

Android code

private String postData(String valueIWantToSend[]) 
    {
        //Create a new HttpClient and Post Header
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost(url);
        try 
        {
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
            nameValuePairs.add(new BasicNameValuePair("param1",valueIWantToSend[0]));
            nameValuePairs.add(new BasicNameValuePair("param2", valueIWantToSend[1]));
            nameValuePairs.add(new BasicNameValuePair("param3", valueIWantToSend[2]));
            nameValuePairs.add(new BasicNameValuePair("param4", valueIWantToSend[3]));
            nameValuePairs.add(new BasicNameValuePair("param5", valueIWantToSend[4]));
            nameValuePairs.add(new BasicNameValuePair("param6", valueIWantToSend[5]));
            nameValuePairs.add(new BasicNameValuePair("param7", valueIWantToSend[6]));
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            /* execute */
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity rp = response.getEntity();

            //origresponseText=readContent(response);
        }
        catch (ClientProtocolException e) 
        {
            //TODO Auto-generated catch block
        } 
        catch (IOException e) 
        {
            //TODO Auto-generated catch block
        }
        return null;
    }

et voici mon code de la servlet

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //TODO Auto-generated method stub
    response.setContentType("text/html");
    ObjectOutputStream out = new ObjectOutputStream(response.getOutputStream());
    Enumeration paramNames = request.getParameterNames();
    String params[] = new String[7];
    int i=0;

    while(paramNames.hasMoreElements())
    {
        String paramName = (String) paramNames.nextElement();
        System.out.println(paramName);


        String[] paramValues = request.getParameterValues(paramName);
        params[i] = paramValues[0];

        System.out.println(params[i]);

        i++;
    }

}
de bonnes pratiques pour l'utilisation HttpUrlConnection Aucun. Rester à l'écart. Mais il semble que vous utilisez une ancienne bibliothèque. Apache Http Composants est maintenant sur 4.3. Vous semblez toujours être sur 2.x.
donc, il n'y a pas de problème avec HttpClient ?
Il pourrait y avoir avec la bibliothèque que vous utilisez. Je ne sais pas. Mais HttpUrlConnection n'est pas un bon http client.
rester à l'écart.vous s'il vous plaît expliquer

OriginalL'auteur Bhargav Thanki | 2014-11-12