Usare HttpURLConnection in Android

Usare HttpURLConnection in Android

Passando una app totalmente ad Android 5, ho notato che praticamente tutto il package org.apache.http risulta deprecato.

In cambio, l'SDK ci mette a disposizione nuovi strumenti, che a quanto pare siano anche più leggeri.

Principalmente tutto parte dalla connessione astratta URLConnection.

Vediamo un esempio usando HttpURLConnection, altra classe astratta che estende la precedente.

Volendo è anche disponibile HttpsURLConnection, che in pratica è identica ma si aggancia ad HTTPS.

Vediamo un esempio:

import android.util.Log;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class Service {

    public void launchService(String file) throws MalformedURLException, IOException {
        URL url = new URL(file);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        InputStream is = connection.getInputStream();

        BufferedReader rd = new BufferedReader(new InputStreamReader(is));
        String line;
        StringBuilder response = new StringBuilder();
        while ((line = rd.readLine()) != null) {
            response.append(line);
        }
        rd.close();
        Log.i("RES", response.toString());
    }

Semplicemente mandiamo una richiesta ad un indirizzo remoto, passato come parametro, e stampiamo l'output nel LOG.

Enjoy!