Loading ...

Di default i RadioButton di Android sono rosa; non che siano brutti, ma non è detto che vadano bene con il resto del layout.

Ma per modificarne il colore non basta impostare il classico colore di sfondo, ma bisogna lavorare sugli stili.

Non è assolutamente complicato e ve lo dimostro.

Quando aggiungiamo una Activity in Android, dobbiamo aggiungerla anche nel manifest; una cosa del genere già basta:

<activity android:name=".ClientiActivity"></activity>

E fin qui, bene o male lo sappiamo.

Il problema è che se arriviamo da un'altra Activity, non abbiamo il back button nella toolbar.

Il binding dei componenti visuali in Android non è di per sè complicato, in quanto possiamo fare tutto con il metodo findViewById.

Però ho scoperto una libreria che ci permette di fare queste operazioni in una maniera più easy ancora: Butter Knife!

Non so se comporta miglioramenti anche a livello di prestazioni, ma secondo me riduce il codice scritto e lo rende un pò più chiaro.

Android, per le icone o come risorse grafiche in generale, dispone anche dei cosidetti VectorDrawable in formato XML.

SVG (Scalable Vector Graphics) è un formato molto simile, in quanto si basa anch'esso su XML.

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