Come creare un app android passo passo
Per creare un app Android nativa, che possa utilizzare direttamente tutte le caratteristiche e le funzionalità disponibili su smartphone o tablet Android, è necessario utilizzare Java ma soprattutto alcune API progettate esclusivamente per la piattaforma Android. Pertanto è necessaria, anche se non a livelli professionali, avere una buona conoscenza della programmazione in Java. Queste API, non sono altro che delle librerie Java, cioè, un insieme di file con estensione jar, che ti consentono di eseguire attività comuni come: disegnare testo, forme e colori sullo schermo, riprodurre suoni o video e interagire con i sensori hardware installati sul telefonino. Nel corso degli anni, queste API Android si sono così evolute, tanto da rendere, sempre più stabile e intuitivo, lo sviluppo in ambiente Android.
Di conseguenza, essere uno sviluppatore Android oggi è più facile che mai, ancora di più se utilizzi Android Studio, lo strumento ufficiale per sviluppare applicazioni con questo straordinario sistema operativo.
Android Studio è un ambiente di sviluppo integrato disponibile gratuitamente sotto licenza Apache 2.0, e di proprietà di Google e JetBrain.
In questo tutorial ti mostrerò come creare la tua prima app per Android con questo fantastico IDE. Nel farlo, ti presenterò anche importanti concetti specifici di Android come views, layouts e activities.
Per rendere le cose meno complicate, inizieremo da zero per creare un’app molto semplice e intuitiva. Se preferisci scrivere meno codice o hai bisogno di sviluppare la tua app il più rapidamente possibile, considera l’utilizzo di uno dei contenitori per modelli di app Android nativi disponibili oggi, parlo di CodeCanyon.
Codecanyon è un portale web in cui puoi trovare migliaia di script e plug in per il tuo sito internet o la tua app a basso costo, a partire anche da soli 2 dollari.
Utilizzando un modello già sviluppato, puoi avere un’app pronta per la pubblicazione in poche ore. Ad ogni modo non è necessario utilizzare uno dei modelli offerti da CodeCanyon, visto e considerato che Android Studio ne possiede già di suo.
Indice del Post...
Prerequisiti
Per seguire correttamente, quanto esposto in questo articolo, avrai bisogno di Android Studio, meglio se scarichi l’ultima versione, la troverai disponibile qui. Inoltre devi installare, come descritto precedentemente, anche la piattaforma di sviluppo Java. Se non è disponibile sul tuo computer scaricala da questo link, cliccando sulla voce JDK Download.
Adesso, se non hai mai usato Android Studio e Java, fai riferimento al seguente video tutorial per vedere come installarlo e configurarlo:
1. Crea un nuovo progetto
Innanzitutto, avrai bisogno di un progetto di Android Studio per iniziare a progettare, sviluppare e creare la tua app. Quindi avvia Android Studio e fai clic sul pulsante Create new project in Android Studio.
Nella schermata successiva, scegli Add no activity, perché non vogliamo utilizzare nessuno dei modelli offerti da Android Studio. Quindi premere Next per proseguire.
Ora vedrai un modulo in cui puoi inserire dettagli importanti per la tua app, come il nome. Il nome è, ovviamente, quello che i tuoi utenti vedranno sui loro telefoni quando installeranno la tua app.
Noterai che è necessario dare anche il nome del package, non è altro che un identificatore univoco per la tua app su Google Play. È necessario seguire le convenzioni di denominazione dei package in Java. Ad esempio, se il nome della tua app è MyFirstApp e lavori per un’organizzazione il cui indirizzo sito web è example.com, il nome del package sarebbe, seguendo le convenzioni citate precedentemente, “com.example.myfirstapp”. Oppure semplicemente, “it.nome.cognome.myfirstapp”.
Successivamente, devi decidere il linguaggio di programmazione che desideri utilizzare per la codifica dell’app. Quindi, per ora, seleziona Java e clicca su Finish.
Android Studio impiegherà ora qualche minuto per generare e configurare il tuo primo progetto Android.
Leggi anche: Come creare un linguaggio di programmazione
2. Crea un’Activity
Un’activity è uno dei componenti più importanti di un’app Android. È ciò che ti consente di creare e mostrare un’interfaccia utente. Un’app può avere una o più Activity, ciascuna delle quali consente all’utente di eseguire un’azione. Ad esempio, un’app che funga da client di posta elettronica può avere tre activity: una per la registrazione dell’utente, una per l’accesso e una per la composizione di un messaggio di posta elettronica.
Per mantenere semplice questo tutorial, creeremo un’app con una sola Actvity. Quindi, per creare l’Activity, nel pannello Progect di Android Studio, fai clic con il pulsante destro del mouse sulla voce app e seleziona New -> Activity -> Empty activity.
Nella finestra di dialogo che si apre, digita MainActivity come nome dell’attività, seleziona successivamente l’opzione Launcher Activity e premi Finish .
Spuntare la checkbox, relativa all’opzione Launcher Activity, è di fondamentale importanza, questo consentirà agli utenti di aprire questa Activity in fase di avvio dell’app android. Pertanto, un’activity, con l’opzione Launcher activity spuntata, funge da punto di ingresso per la tua app, cioè è l’Activity che effettuerà lo startup dell’app.
3. Creare un layout
A ciascuna Activity di solito è associato almeno un layout. Quando hai creato la tua Activity, nel passaggio precedente, hai anche generato un layout vuoto associato ad essa. Giusto per prendere confidenza con i Layouts, puoi dare un’occhiata, al file activity_main.xml.
Il layout di un’Activity è costituito principalmente da views e gruppi di views. Una View, o semplicemente vista, a volte denominata widget, è un singolo componente dell’interfaccia utente i cosiddetti controlli. Ad esempio, pulsanti, campi di testo, label e barre di avanzamento sono esempi di views. Un gruppo di views è un componente che può fungere da contenitore per altre views. Di solito, i gruppi di views sono utili anche per posizionare e impostare le dimensioni delle views contemporaneamente.
ConstraintLayout è uno dei gruppi di views, cioè funge da contenitore per altre views, più potenti e flessibili oggi disponibili per creare un app Android. Per impostazione predefinita, è la root del file XML di layout della tua Activity. Pressappoco il suo contenuto è simile a questo:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!-- More code here -->
</androidx.constraintlayout.widget.ConstraintLayout>
Creeremo una semplice app, con le funzioni di un orologio in questo tutorial. Oltre all’ora locale, sarà in grado di mostrare l’ora corrente per due diversi paesi: Italia e Germania.
Per consentire all’utente di scegliere il paese a cui è interessato, il nostro layout avrà due Button views, una per la Germania e una per l’Italia. E per mostrare effettivamente l’ora, il nostro layout avrà anche una TextClock view.
Di conseguenza, aggiungi il seguente codice all’interno di ConstraintLayout:
<TextClock
android:id="@+id/my_clock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:format12Hour="h:mm:ss a"
android:textSize="32sp"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
android:text="Time in Germany"
android:onClick="onClickGermany"
android:id="@+id/germany_button"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@id/germany_button"
android:text="Time in Italia"
android:onClick="onClickItalia"
android:id="@+id/italia_button"/>
Nota che le proprietà layout_width e layout_height di ogni view, impostano le dimensioni della view. Altre proprietà, invece, come layout_constraintBottom_toBottomOf e layout_constraintLeft_toLeftOf sono necessarie per posizionare la view. Con il codice, visualizzato sopra, la TextClock verrà posizionata al centro dello schermo e entrambi i Botton verranno posizionati verso la parte bassa dello schermo.
Per impostazione predefinita, la TextClock mostra solo le ore e i minuti. La proprietà format12Hour, ti consente di cambiare il formato di visualizzazione delle ore. Nel codice precedente, il suo valore è impostato su h:mm:ss a. Questo codice informa la TextClock che deve visualizzare le ore, i minuti, i secondi e anche un suffisso AM / PM.
Si noti inoltre che ogni Button ha una proprietà onClick. Questa proprietà viene utilizzata per assegnare dei gestori di eventi clic ai pulsanti.
I gestori non sono stati ancora implementati, o meglio dobbiamo ancora decidere cosa deve eseguire l’app al click di un button, ma puoi chiedere ad Android Studio di generarli per te in modalità predefinita dall’IDE. Per farlo, passa il mouse sul nome del gestore dell’evento finché non vedi apparire una lampadina rossa accanto ad esso. Quindi fai clic sulla lampadina e seleziona la seconda opzione, cioè quella con la lampadina gialla.
A questo punto, puoi provare a premere Maiusc-F10 per eseguire l’app. Se non ci sono errori nel tuo codice XML, dovresti vedere qualcosa di simile sul tuo telefono o emulatore:
è opportuno puntualizzare, che Android Studio, sfrutta degli emulatori di dispositivo, per eseguire l’app, cioè lo sviluppatore ha la possibilità di scegliere vari dispositivi su cui visualizzare l’app in fase di sviluppo.
Torniamo a noi, sebbene i pulsanti non funzionino ancora, la TextClock dovrebbe mostrare già l’ora locale, aggiornandosi regolarmente ogni secondo, esattamente come un normalissimo orologio.
4. Implementare gestori di eventi
Quando hai generato i gestori di eventi per i due pulsanti, Android Studio ha aggiunto due metodi al file Java della tua Activity, e cioè in MainActivity.java. Se apri questo file, dovresti trovare il seguente codice al suo interno:
public void onClickGermany(View view) {
}
public void onClickItalia(View view) {
}
All’interno dei due gestori di eventi, tutto ciò che dobbiamo fare è cambiare il fuso orario della TextClock. Ma come si fa a fare riferimento a una view presente nel file XML del layout dall’interno del file Java? Beh, puoi usare il metodo findViewById().
Tanto per analogia, se hai avuto già esperienza con Javascript, è esattamente quello che uno sviluppatore fa con un metodo molto simile di Javascript, per raggiungere le proprietà di un elemento contenuto in una pagina html.
Torniamo al metodo findViewById, una volta che hai ottenuto un riferimento alla TextClock, puoi richiamare il metodo setTimeZone() per cambiare il suo fuso orario. Quindi aggiungi il seguente codice all’interno dell’evento onClickGermany():
TextClock clock = findViewById(R.id.my_clock);
clock.setTimeZone("Europe/Berlin");
Allo stesso modo, aggiungi il seguente codice all’interno dell’evento onClickItalia():
TextClock clock = findViewById(R.id.my_clock);
clock.setTimeZone("Europe/Italy");
Se ti stai chiedendo cosa sia la R, beh presto fatto, non è altro che una classe generata automaticamente, in fase di compilazione dell’app da parte di Android Studio, e che contiene, tra le altre cose, gli ID di tutte le view presenti nei tuoi layout. Il metodo findViewById() si aspetta che tu usi questa classe per passargli un ID valido.
A questo punto, puoi premere di nuovo Shift-F10 per rieseguire l’app. Ora dovresti essere in grado di cliccare sui pulsanti per modificare il fuso orario dell’orologio.
Oltre a modificare il codice della tua prima app, puoi anche provare a trascinare delle views direttamente su una Activity e vedere cosa il sistema ha scritto per te all’interno del file xml precedentemente gestito. Per cui le views possono essere sia posizionate a mano digitando direttamente il codice all’interno del file xml sia trascinata, con il tipico drag & drop, direttamente sull’Activity visualizzata in quel momento su Android Studio.
Quindi, ogni Activity è formata da un file xml, che ne gestisce la visualizzazione grafica, e un file con estensione java, che ne implementa le azioni e contiene il codice che deve essere eseguito per ogni evento di una view.
Questo tipo di approccio è molto simile a quello utilizzato da molti framework di sviluppo, come ad esempio Visual Studio.
Conclusione
Hai appena creato la tua prima app nativa completamente funzionante per Android. Ti consiglio, se te la senti, di apportare alcune modifiche. Ad esempio, potresti provare a utilizzare altri formati o fusi orari. Puoi anche provare a cambiare le posizioni dei pulsanti e la visualizzazione dell’orologio stesso.
Sono disponibili dozzine di views e gruppi di views che puoi utilizzare per creare le tue app. Fai riferimento alla documentazione ufficiale per conoscerle tutte.