Con le API 21, in Android sono state introdotte delle API per schedulare le attività.

Oggi ne vediamo un esempio basico, che può essere un punto di partenza.

Oggi vediamo qualche esempio introduttio alla libreria Volley, una delle librerie più usate per richieste HTTP in Android.

E' talmente usata, che ha anche una pagina sulla documentazione ufficiale di Android.

Per installare la lilbreria, se usate Android Studio, aggiungete questa riga al file build.gradle (Module: app):

dependencies {
    ..............
    compile 'com.android.volley:volley:1.0.0'
    ..............
}

Bene, a questo vediamo un esempio banale di richiesta GET.

Nelle ultime versioni dell'SDK, sono state fatte pesanti modifiche a tutta la parte che riguarda le richieste HTTP.

Ma, a quanto pare, ancora non si è raggiunta l'efficienza di alcune librerie esterne.

Oggi ne vediamo una, con un esempio easy: OkHttp!

Per usare la libreria, potete scaricare il jar dal sito ufficiale, oppure usare Gradle.

In questo caso aggiungete questa riga nel build.gradle (Module: app):

dependencies {
    ................
    compile 'com.squareup.okhttp3:okhttp:3.5.0'
    ................
}

Piccolo tips per Android: come impostare un divider in una ListView?

In sostanza un divider tra un elemento e un altro della ListView.

A prescindere da come venga riempita ovviamente.

Per fare questo possiamo usare l'attributo android:divider.

In questo articolo (o in altri che richiedevano connessioni da dispostivi Android) abbiamo visto come effettuare richieste remote in POST.

Ma dalle ultime versioni delle API Android, il package org.apache.http è stato deprecato e poi rimosso.

Per effettuare richieste HTTP a servizi remoti si deve usare la classe HttpURLConnection.

Qui potete vedere i dettagli relativi ad Android 6.

Vediamo oggi un esempio; andremo ad interrogare il servizio ISBNdb.

AutoCompleteTextView è un componente che in pratica si comporta come Google Suggest.

Oggi vediamo come usarlo, e per complicarci la vita, prenderemo in dati in formato JSON da un servizio remoto, e useremo un custom adapter.

Cominciamo con la classe che mappa i dati JSON:

public class Cities {

    private int id;
    private String nome;
    private String paese;
    private double latitudine;
    private double longitudine;

    public Cities(int id, String nome) {
        this.id = id;
        this.nome = nome;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getPaese() {
        return paese;
    }

    public void setPaese(String paese) {
        this.paese = paese;
    }

    public double getLatitudine() {
        return latitudine;
    }

    public void setLatitudine(double latitudine) {
        this.latitudine = latitudine;
    }

    public double getLongitudine() {
        return longitudine;
    }

    public void setLongitudine(double longitudine) {
        this.longitudine = longitudine;
    }

}

I i campi JSON quindi sono:

  • id
  • nome
  • paese
  • latitudine
  • longitudine

Supponiamo di avere il nostro Adapter che estende BaseAdapter.

E supponiamo di volere rendere non selezionabile una riga della nostra ListView nel caso di una determinata condizione.

Come possiamo fare?

Semplicemente facendo l'Override del metodo isEnabled.

Ho scoperto che in questi ultimi tempi, sono tante parecchie librerie per la creazione di grafici per Android.

Oggi ne vediamo una che mi è piaciuta parecchio: MPAndroidChart.

Andremo a costruire un PieChart, lo metteremo dentro ad un Fragment, e i dati li prenderemo da un file JSON (giusto per fare qualcosa di diverso dagli esempi classici che potete trovare anche qua).

Prima di tutto scaricate la libreria e aggiungetela al progetto (questa operazione varia a seconda dell'IDE che usate).

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.

Oggi vediamo come inviare email da una nostra app in Android.

La classe che vedremo è alquanto semplice, ed è composta da due metodi: uno per l'invio senza allegato e l'altro per l'invio anche di un allegato.

Prima di tutto impostiamo i permessi nel manifest:

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

L'invio delle email richiede l'accesso a internet ovviamente.