Introduzione allo sviluppo Android

Lo sviluppo di una applicazione Android può essere effettuato in svariati modi. Lo sviluppatore ha infatti la possibilità di decidere se creare:

  • una app nativa

App native

Le applicazioni native sono generalmente le più performanti e le più ottimizzate per il sistema operativo in uso. Sono le app che andremo a sviluppare durante questa “guida”.

App ibride

Le applicazioni ibride sono applicazioni che possono essere eseguite su più sistemi operativi, rinunciando in parte alle performance ottimali delle app native. I framework più utilizzati sono per esempio:

  • Apache Cordova (di Adobe), che permette di utilizzare HTML, CSS e Javascript

Webapp

Sono le app che si basano interamente sulle piattaforme web.

Strumenti di sviluppo

Fino al 2014, le applicazioni Android venivano sviluppate utilizzando il programma “Eclipse”, oggi invece esiste un IDE chiamato “Android Studio” che è direttamente sviluppato da Google. È possibile scaricarlo dal sito ufficiale ed include anche l’ultima versione dell’SDK di Android.

Per creare un nuovo progetto sarà necessario cliccare su “Start a new Android Studio project”. Successivamente si aprirà questa schermata, selezionare “Empty Activity” e successivamente cliccare su “Next”.

Successivamente si aprirà una schermata nella quale andremo ad inserire i dati fondamentali dell’app, ovvero:

  • Name, il nome dell’app

Infine apparirà la schermata contenente il progetto che abbiamo appena configurato.

Configurazione del telefono Android

Per abilitare il telefono alla comunicazione con Android Studio, bisogna abilitare una impostazione chiamata “Debug USB”:

  • Andare nelle impostazioni

Struttura di una app Android

Le applicazioni Android si dividono principalmente in tre parti:

  • Codice Java (rosso), necessario per la creazione della logica dell’app

Le Activity

Le Activity sono entità che rappresentano le schermate di una app. Nella pratica sono classi Java che estendono la classe “Activity”; ogni Activity per essere eseguita deve essere registrata nell’AndroidManifest.xml (rosso).

In questo caso è importante notare come vengano inseriti altri tag che rendono la “MainActivity” la schermata che verrà aperta al lancio dell’app.

Il ciclo di vita di un’Activity

Le Activity posseggono uno speciale ciclo di vita che può essere rappresentato con il seguente schema:

Nella pratica, il controllo del lifecycle di una Activity è effettuato attraverso l’override (ovvero la riscrittura) delle varie funzioni “onCreate”, “onPause”, “onResume”, etc…

Le View ed i Layout

Lo sviluppo della parte grafica di una app Android viene effettuata con il linguaggio XML. Tutti i file di layout vengono inseriti nella cartella “res > layout”. Una View / Layout rappresenta una singola componente dell’Activity. Mentre un layout è in grado di possedere più View “figlie”, una View non può avere elementi al suo interno.

Esempi di View:

  • Button

Esempi di layout:

  • LinearLayout

La nostra prima app

In questa app andremo a creare una semplice app che visualizza un testo a nostra scelta. Come precedentemente detto, esistono vari tipi di Layout. Il layout che utilizzeremo è il LinearLayout, un layout in grado di predisporre le proprie View figlie in modo orizzontale (default) o verticale. All’interno di questo LinearLayout inseriamo una TextView, ovvero un testo che comparirà nella nostra Activity. È importante notare come ogni View / Layout possegga gli attributi “layout_width” e “layout_height”, cioè larghezza e altezza. Il valore di questi attributi può essere di tre tipi:

  • wrap_content, il “minimo” possibile

Per eseguire l’app basta cliccare sul tasto “play” in alto a destra e selezionare il dispositivo collegato.

Cliccando su “OK”, l’applicazione verrà automaticamente lanciata sul dispositivo.

Button

In questo piccolo progetto andremo a sviluppare un’app che mostra un messaggio Toast al click di un bottone. Procediamo con lo sviluppo della UI aprendo il file activity_main.xml nella cartella “res > layout” e inseriamo il seguente codice:

In questo modo andremo a creare un semplice bottone. Un attributo importantissimo è l’Android ID, ovvero un identificativo di quella View all’interno di quel layout. L’ID è di fondamentale importanza in quanto permette di collegare il layout XML al file Java dell’Activity. Ora passiamo alla parte logica, aprendo il file MainActivity.java nella cartella “java”. Per prima cosa, dichiariamo una variabile di tipo Button. Per importare nella MainActivity la classe Button, sarà sufficiente scrivere “Button cliccamiBottone” per poi attendere che compaia un popup di colore azzurro e premere contemporaneamente sulla tastiera “ALT + Invio”.

La funzione “findViewById” permette di assegnare alla variabile “cliccamiBottone” il bottone creato nel file XML. Essa richiede come parametro l’ID della View (il bottone nel nostro caso). Per ottenere gli ID delle View dalle classi Java, è necessario utilizzare la classe “R”. Quindi il parametro completo del findViewById sarà R.id.cliccami_bottone.

Per eseguire delle azioni al click del bottone, esiste il metodo “setOnClickListener”, che richiede come parametro una implementazione dell’interfaccia “OnClickListener”; Ciò che andremo a far fare al bottone una volta cliccato, deve essere inserito nella funzione “onClick”. Per far comparire un messaggio Toast, basta chiamare la funzione statica “makeText” presente nella classe Toast. Questa funzione richiede tre parametri: l’istanza dell’Activity, la stringa che rappresenterà il messaggio ed infine quanto tempo il Toast sarà visibile (Toast.LENGTH_SHORT, Toast.LENGTH_LONG).

--

--

matteolobello.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store