Loading ...

Abbiamo già visto Javalin.io, ma in ambito Java.

Oggi vediamo come usarlo in Kotlin (praticamente è la stessa cosa).

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" />

Il componente per Android RecyclerView, è quello che sostituisce altri contenitori come ListView.

Se volete usare contenitori con dati "ripetuti" come liste, è altamente consigliato.

Oggi vediamo una sua implementazione in Kotlin; prenderemo i dati da web service in formato JSON usando Anko e Klaxon, e costruiremo un nostro adapter:

  • Anko ci serve per le richieste asincrone (e per il logging, ma non è strettamente necessario)
  • Klaxon per il parsing del JSON

Oggi mi sono scontrato con un interessante JSON parser per Kotlin: Klaxon!

L'ho testato e devo dire che ci voglio veramente pochissime righe di codice.

Ne vediamo un esempio in ambito Android, ma non dovrebbe cambiare nulla se volete usarlo in ambito desktop.

Eseguire richieste HTTP con Kotlin è alquanto semplice usando la classe URL.

Vediamo come eseguire una richiesta asincrona (che in ambito Android è obbligatorio) e visualizzare la risposta nel Logcat.

Come libreria esterna useremo Anko, sia per effettuare la richiesta asincrona, sia per il logging.

Per eseguire richieste asincrone in Android, siamo abituati ad usare AsyncTask, sia in Java che in Kotlin.

Per quest'ultimo, però, ho scoperto una libreria che ci permette di avere sintassi molto più Kotlin style: Anko!

E' una libreria scritta direttamente da Jetbrain, e quindi direi che è più che valida.

Non so quante animazioni stile web potremmo mai usare in un programma per desktop, ma conoscere come si fa di certo non fa male.

Vediamo, quindi, come creare animazioni usando TornadoFX e Kotlin.

TornadoFX, essendo un porting di JavaFX per Kotlin, ha praticamente tutte le sue potenzialità.

Oggi vediamo come aggiungere facilmente delle forme.

Useremo uno stackpane come layout di base.

Oggi vediamo probabilmente l'unico componente data-drigven di TronadoFX: DataGrid!

Sostanzialmente è simile al layout GridPane, nel senso che divide la schermata in righe e colonne.

La differenza sta nel fatto che non è un layout, ma è un contenitore per dati.

Ne vediamo un esempio basico, in cui mettiamo tre immagini.

Oggi vediamo un altro componente di TornadoFXper Kotlin: le TreeView!

Partiamo da una classe Persona che ha due parametri: il nome e la squadra per cui tifa:

class Persona(val nome: String, val squadra: String)

Fin qui nulla di speciale.

Ma i componenti ad albero sono un pò più rognosi.