connectivitymanager

Mattepuffo's logo
Controllo della connessione in Android con Kotlin

Controllo della connessione in Android con Kotlin

Praticamente qualsiasi app ad oggi richiede una connessione a internet; è quindi molto probabile che dobbiamo fare un controllo preventivo prima di cercare di mandare / ricevere dati.

Oggi vediamo come fare questo controllo sulle nostre app Android usando Kotlin.

Prima di tutto ricordatevi che dovete impostare i permessi nel manifest:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

Mattepuffo's logo
Android WebView offline

Android WebView offline

Tempo fa abbiamo parlato delle Webview in Android; questo componente permette di visualizzare pagine web dentro le nostre app.

Basandosi su Webkit, le WebView hanno un ottimo supporto ad HTML 5.

L'unico svantaggio è che se il device è offline non è possibile visualizzare le pagine.

Possiamo però impostarle per tenere le pagine anche offline in cache.

Cosa finadamentale è che la pagine web non sia impostata per non permettere la cache con impostazioni di questo tipo:

Cache-control: no-store, no-cache
Pragma: no-cache

Una volta verificato ciò, passiamo alla app.

Prima di tutto verifichiamo che il device sia connesso:

public class CheckConn {

    public static boolean isNetworkAvailable(Context context) {
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo ni = cm.getActiveNetworkInfo();
        if (ni == null) {
            return false;
        }
        return ni.isConnected();
    }

}

Ho già parlato anche di questo, quindi non mi soffermo a spiegare.

Mattepuffo's logo
Controllo connessione in Android

Controllo connessione in Android

Nelle app mobile che richiedono una connessione attiva, è importante, a mio vede di vedere, effettuare questo controllo prima di fare una qualsiasi richiesta di dati verso il web.

In questo modo, in assenza di connessione, abbiamo subito la risposta e possiamo chiudere subito l'applicazione in attesa di connessione.

Oggi vi posto una semplice classe per il controllo della connessione in Android.