In questo codelab, creerai un'app per Android Dice Roller in cui gli utenti possono fare clic su un Button nell'app per tirare un dado. Il risultato del tiro verrà mostrato in un TextView sullo schermo.
Utilizzerai Layout Editor in Android Studio per creare il layout dell'app, quindi scriverai il codice Kotlin per ciò che accade quando viene fatto clic su Button.
Prerequisiti
- Come creare ed eseguire un'app "Hello, World!" in Android Studio.
- Avere familiarità con l'utilizzo di
TextViewseImageViewsin un'app. - Come modificare gli attributi di un
TextViewnell'editor layout. - Come estrarre il testo in una risorsa stringa per semplificare la traduzione dell'app e il riutilizzo delle stringhe.
- Le basi della programmazione Kotlin insegnate nei codelab precedenti.
Obiettivi didattici
- Come aggiungere un
Buttona un'app per Android. - Come aggiungere un comportamento quando viene toccato un
Buttonnell'app. - Come aprire e modificare il codice
Activitydi un'app. - Come visualizzare un messaggio
Toast. - Come aggiornare i contenuti di un
TextViewmentre l'app è in esecuzione.
Cosa creerai
- Un'app per Android Dice Roller con un
Buttonper lanciare un dado e aggiorna il testo sullo schermo con il risultato del lancio.
Cosa serve
- Un computer su cui è installato Android Studio.
Ecco l'aspetto dell'app al termine di questo codelab.

Creare un progetto di attività vuoto
- Se hai già un progetto aperto in Android Studio, vai a File > New > New Project… per aprire la schermata Create New Project (Crea nuovo progetto).
- In Crea nuovo progetto, crea un nuovo progetto Kotlin utilizzando il modello Attività vuota.
- Chiama l'app "Dice Roller" (Tiro di dadi) con un livello API minimo di 19 (KitKat).
Importante:se non hai familiarità con la creazione di un nuovo progetto in Android Studio, consulta l'articolo Crea ed esegui la tua prima app per Android per maggiori dettagli.

- Esegui la nuova app, che dovrebbe avere questo aspetto.

Apri l'editor del layout
- Nella finestra Progetto, fai doppio clic su
activity_main.xml(app > res > layout > activity_main.xml) per aprirlo. Dovresti visualizzare l'editor layout, con solo ilTextView"Hello World" al centro dell'app.
Successivamente, aggiungerai un Button alla tua app. Un Button è un elemento dell'interfaccia utente (UI) in Android che l'utente può toccare per eseguire un'azione.

In questa attività, aggiungi un Button sotto il TextView "Hello World". TextView e Button si troveranno all'interno di un ConstraintLayout, che è un tipo di ViewGroup.
Quando ci sono Views all'interno di un ViewGroup, i Views sono considerati figli del genitoreViewGroup. Nel caso della tua app, TextView e Button sarebbero considerati figli del genitore ConstraintLayout.


Procedi con l'aggiunta di un Button come figlio del ConstraintLayout esistente nella tua app.
Aggiungere un pulsante al layout
- Trascina un
Buttondalla tavolozza nella visualizzazione Struttura, posizionandolo sotto ilTextView"Hello World".
- Sotto la tavolozza nella struttura dei componenti, verifica che
ButtoneTextViewsiano elencati inConstraintLayout(come elementi secondari diConstraintLayout). - Viene visualizzato un errore che indica che
Buttonnon è vincolato. PoichéButtonsi trova all'interno diConstraintLayout, devi impostare i vincoli verticali e orizzontali per posizionarlo.

Posizionare il pulsante
In questo passaggio aggiungerai un vincolo verticale dalla parte superiore di Button alla parte inferiore di TextView. In questo modo, Button verrà posizionato sotto TextView.
- Nella visualizzazione Progettazione, tieni premuto il cerchio bianco con un bordo blu sul bordo superiore di
Button. Trascina il puntatore e una freccia lo seguirà. Rilascia quando raggiungi il bordo inferiore di "Hello World"TextView. In questo modo viene stabilito un vincolo di layout eButtonscorre verso l'alto fino a posizionarsi appena sottoTextView.
- Guarda gli attributi sul lato destro dell'editor di layout.
- Nel widget Constraint,nota un nuovo vincolo di layout impostato sulla parte inferiore di
TextView, Top → BottomOf textView (0 dp). (0 dp) significa che il margine è pari a 0. Hai anche un errore per i vincoli orizzontali mancanti.
- Aggiungi un vincolo orizzontale dal lato sinistro di
Buttonal lato sinistro dell'elemento principaleConstraintLayout. - Ripeti l'operazione sul lato destro, collegando il bordo destro di
Buttonal bordo destro diConstraintLayout. Il risultato dovrebbe essere simile a questo:

- Con
Buttonancora selezionato, il widget Vincolo dovrebbe essere simile al seguente. Nota i due vincoli aggiuntivi che sono stati aggiunti: Inizio → Inizio elemento padre (0 dp) e Fine → Fine elemento padre (0 dp). Ciò significa cheButtonè centrato orizzontalmente nel relativo elemento principale,ConstraintLayout.
- Esegui l'app. Dovrebbe avere un aspetto simile a quello dello screenshot riportato di seguito. Puoi fare clic su
Button, ma non succede ancora nulla. Continuiamo così.

Modificare il testo del pulsante
Apporterai altre modifiche alla UI nell'editor layout.
Anziché visualizzare l'etichetta Button "Pulsante", modificala in modo che indichi la funzione del pulsante: "Tira".
- Nell'editor layout, con
Buttonselezionato, vai ad Attributi, modifica il testo in Roll e premi il tastoEnter(Returnsu Mac).

- Nell'albero dei componenti, accanto a
Buttonviene visualizzato un triangolo di avviso arancione. Se passi il cursore sopra il triangolo, viene visualizzato un messaggio. Android Studio ha rilevato una stringa hardcoded ("Roll") nel codice dell'app e suggerisce di utilizzare una risorsa stringa.
Se una stringa è codificata in modo permanente, l'app sarà più difficile da tradurre in altre lingue e sarà più difficile riutilizzare le stringhe in diverse parti dell'app. Fortunatamente, Android Studio ha una correzione automatica per te.

- Nell'albero dei componenti , fai clic sul triangolo arancione.

Viene visualizzato il messaggio di avviso completo.

- Nella parte inferiore del messaggio, in Correzione suggerita, fai clic sul pulsante Correggi. Potrebbe essere necessario scorrere verso il basso.
- Viene visualizzata la finestra di dialogo Estrai risorsa. Estrarre una stringa significa prendere il testo "Roll" e creare una risorsa stringa chiamata
rollinstrings.xml(app > res > values > strings.xml). I valori predefiniti sono corretti, quindi fai clic su Ok.

- Nota che in Attributi, l'attributo text per
Buttonora indica@string/roll, facendo riferimento alla risorsa appena creata.
Nella visualizzazione Progettazione, il Button dovrebbe ancora indicare Rotolo.

Applica uno stile a TextView
Il testo "Hello World!" è piuttosto piccolo e il messaggio non è pertinente per la tua app. In questo passaggio sostituirai il piccolo messaggio "Hello, World!" con un numero per mostrare il valore tirato e ingrandirai il carattere in modo che sia più facile da vedere.
- Nell'editor di progettazione, seleziona
TextViewin modo che i relativi attributi vengano visualizzati nella finestra Attributi. - Modifica textSize di
TextViewimpostandolo su 36sp, in modo che sia grande e facile da leggere. Potresti dover scorrere per trovare textSize.

- Cancella l'attributo text [testo] di
TextView. Non devi mostrare nulla inTextViewfinché l'utente non tira i dadi.

Tuttavia, è molto utile visualizzare del testo in TextView quando modifichi il layout e il codice della tua app. A questo scopo, puoi aggiungere del testo a TextView che è visibile solo per l'anteprima del layout, ma non quando l'app è in esecuzione
.
- Seleziona
TextViewnell'albero dei componenti. - In Attributi comuni, trova l'attributo testo e, sotto, un altro attributo testo con un'icona a forma di strumento. L'attributo text è ciò che verrà visualizzato dall'utente quando l'app è in esecuzione. L'attributo testo con un'icona a forma di strumento è l'attributo "testo degli strumenti", riservato agli sviluppatori.
- Imposta il testo degli strumenti su "1" in
TextView(per simulare un tiro di dado di 1). "1" verrà visualizzato solo nell'editor di progettazione in Android Studio, ma non quando esegui l'app su un dispositivo o un emulatore reale.

Tieni presente che, poiché questo testo viene visualizzato solo dagli sviluppatori di app, non è necessario creare una risorsa stringa.
- Guarda la tua app nell'anteprima. Viene visualizzato "1".

- Esegui l'app. Ecco l'aspetto dell'app quando viene eseguita su un emulatore. Il numero "1" non viene visualizzato. Questo è il comportamento corretto.

Ottimo, hai finito di apportare modifiche al layout.
Hai un'app con un pulsante, ma se lo tocchi non succede nulla. Per modificare questo comportamento, dovrai scrivere del codice Kotlin che tiri i dadi e aggiorni lo schermo quando viene toccato il pulsante.
Per apportare questa modifica, devi capire un po' di più la struttura di un'app per Android.
Un Activity fornisce la finestra in cui la tua app disegna la sua UI. In genere, un'Activity occupa l'intero schermo dell'app in esecuzione. Ogni app ha una o più attività. L'attività di primo livello o la prima attività viene spesso chiamata MainActivity ed è fornita dal modello di progetto. Ad esempio, quando l'utente scorre l'elenco delle app sul dispositivo e tocca l'icona dell'app "Tiro di dadi", il sistema Android avvia l'MainActivity dell'app.
Nel codice MainActivity, devi fornire dettagli sul layout di Activity e su come l'utente deve interagire con esso.
- Nell'app Birthday Card, c'è una
Activityche mostra il messaggio e l'immagine di compleanno. - Nell'app Tira dadi, è presente un
Activityche mostra il layoutTextVieweButtonche hai appena creato.
Per le app più complesse, potrebbero essere presenti più schermate e più di un Activity. Ogni Activity ha uno scopo specifico.
Ad esempio, in un'app galleria fotografica, potresti avere un Activity per visualizzare una griglia di foto, un secondo Activity per visualizzare una singola foto e un terzo Activity per modificare una singola foto.

Apri il file MainActivity.kt
Aggiungerai il codice per rispondere a un tocco del pulsante in MainActivity. Per farlo correttamente, devi capire meglio il codice MainActivity già presente nella tua app.
- Vai al file
MainActivity.kt(app > java > com.example.diceroller > MainActivity.kt) e aprilo. Di seguito è riportato ciò che dovresti vedere. Se vediimport..., fai clic su...per espandere le importazioni.
package com.example.diceroller
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}Non è necessario comprendere ogni singola parola del codice riportato sopra, ma è necessario avere un'idea generale di cosa fa. Più lavori con il codice Android, più lo conoscerai e lo comprenderai.
- Esamina il codice Kotlin per la classe
MainActivity, identificata dalla parola chiaveclasse poi dal nome.
class MainActivity : AppCompatActivity() {
...
}- Nota che non è presente alcuna funzione
main()inMainActivity.
In precedenza, hai appreso che ogni programma Kotlin deve avere una funzionemain(). Le app per Android funzionano in modo diverso. Anziché chiamare una funzionemain(), il sistema Android chiama il metodoonCreate()del tuoMainActivityquando la tua app viene aperta per la prima volta. - Trova il metodo
onCreate(), che ha l'aspetto del codice riportato di seguito.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}Scoprirai di più su override in un codelab successivo (quindi non preoccuparti per ora). Il resto del metodo onCreate() configura MainActivity utilizzando il codice delle importazioni e impostando il layout iniziale con setContentView().
- Nota le righe che iniziano con
import.
Android fornisce un framework di numerose classi per semplificare la scrittura di app per Android, ma deve sapere esattamente a quale classe ti riferisci. Puoi specificare la classe del framework da utilizzare nel codice utilizzando un'istruzione import. Ad esempio, la classe Button è definita in android.widget.Button.
Abilitare le importazioni automatiche
Può diventare molto impegnativo ricordare di aggiungere le istruzioni import quando utilizzi più classi. Fortunatamente, Android Studio ti aiuta a scegliere le importazioni corrette quando utilizzi classi fornite da altri. In questo passaggio configurerai Android Studio in modo che aggiunga automaticamente le importazioni quando possibile e rimuova automaticamente le importazioni inutilizzate dal codice.
- In Android Studio, apri le impostazioni andando a File > Other Settings > Preferences for New Projects (File > Altre impostazioni > Preferenze per i nuovi progetti).
- Espandi Altre impostazioni > Importazione automatica. Nelle sezioni Java e Kotlin, assicurati che le opzioni Aggiungi importazioni non ambigue al volo e Ottimizza importazioni al volo (per il progetto corrente) siano selezionate. Tieni presente che in ogni sezione sono presenti due caselle di controllo.

Le impostazioni Importazioni non ambigue indicano ad Android Studio di aggiungere automaticamente un'istruzione di importazione, a condizione che possa determinare quale utilizzare. Le impostazioni Ottimizza importazioni indicano ad Android Studio di rimuovere tutte le importazioni che non vengono utilizzate dal codice. - Salva le modifiche e chiudi le impostazioni premendo Ok.
Ora che sai qualcosa in più su MainActivity, modificherai l'app in modo che, quando fai clic su Button, succeda qualcosa sullo schermo.
Visualizzare un messaggio quando si fa clic sul pulsante
In questo passaggio, specificherai che quando si fa clic sul pulsante, viene visualizzato un breve messaggio nella parte inferiore dello schermo.

- Aggiungi il seguente codice al metodo
onCreate()dopo la chiamatasetContentView(). Il metodofindViewById()trovaButtonnel layout.R.id.buttonè l'ID risorsa perButton, che è un identificatore univoco. Il codice salva un riferimento all'oggettoButtonin una variabile chiamatarollButton, non l'oggettoButtonstesso.
val rollButton: Button = findViewById(R.id.button)Il codice salva il riferimento all'oggetto Button in una variabile denominata rollButton, non l'oggetto Button stesso.
Il metodo onCreate() ora dovrebbe avere il seguente aspetto.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val rollButton: Button = findViewById(R.id.button)
}- Verifica che Android Studio abbia aggiunto automaticamente un'istruzione
importperButton.
Nota che ora ci sono tre istruzioni import: la terza è stata aggiunta automaticamente.
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.ButtonA questo punto devi associare il codice a Button, in modo che possa essere eseguito quando viene toccato Button. Un listener di clic è un codice che indica cosa fare quando si verifica un tocco o un clic. Puoi considerarlo come un codice che rimane inattivo, "in ascolto" del clic dell'utente, in questo caso sul Button.
- Utilizza l'oggetto
rollButtone imposta un listener di clic chiamando il metodosetOnClickListener().
rollButton.setOnClickListener {
}
Durante la digitazione, Android Studio potrebbe mostrare più suggerimenti. In questo caso, scegli l'opzione setOnClickListener {...}.

All'interno delle parentesi graffe, inserisci le istruzioni su cosa deve accadere quando viene toccato il pulsante. Per il momento, la tua app mostrerà un Toast, ovvero un breve messaggio visualizzato dall'utente.
- Crea un
Toastcon il testo"Dice Rolled!"chiamandoToast.makeText().
val toast = Toast.makeText(this, "Dice Rolled!", Toast.LENGTH_SHORT)- Quindi, chiedi a
Toastdi visualizzarsi chiamando il metodoshow().
toast.show()Ecco l'aspetto della classe MainActivity aggiornata. Le istruzioni package e import si trovano ancora nella parte superiore del file:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val rollButton: Button = findViewById(R.id.button)
rollButton.setOnClickListener {
val toast = Toast.makeText(this, "Dice Rolled!", Toast.LENGTH_SHORT)
toast.show()
}
}
}Puoi combinare le due righe nel listener di clic in un'unica riga senza una variabile. Si tratta di un pattern comune che potresti trovare in altri codici.
Toast.makeText(this, "Dice Rolled!", Toast.LENGTH_SHORT).show()- Esegui l'app e fai clic sul pulsante Roll. Un messaggio toast dovrebbe apparire nella parte inferiore dello schermo e scomparire dopo un breve periodo di tempo.

Evviva! Il clic sul pulsante ha fatto apparire il messaggio. È la prima volta che scrivi codice Kotlin per Android.
Aggiorna il TextView quando viene fatto clic sul pulsante
Anziché mostrare un messaggio temporaneo Toast, scriverai il codice per aggiornare il TextView sullo schermo quando viene fatto clic sul pulsante Tira.
- Torna a
activity_main.xml(app > res > layout >activity_main.xml) - Fai clic su
TextView. - Tieni presente che l'id è textView.

- Apri
MainActivity.kt(app > java > com.example.diceroller > MainActivity.kt) - Elimina le righe di codice che creano e mostrano
Toast.
rollButton.setOnClickListener {
}- Al loro posto, crea una nuova variabile denominata
resultTextViewper memorizzareTextView. - Utilizza
findViewById()per trovaretextViewnel layout utilizzando il relativo ID e memorizza un riferimento.
val resultTextView: TextView = findViewById(R.id.textView)- Imposta il testo su
resultTextViewsu "6" tra virgolette.
resultTextView.text = "6"Questa operazione è simile a quella che hai eseguito impostando il testo in Attributi, ma ora si trova nel codice, quindi il testo deve essere racchiuso tra virgolette doppie. Se lo imposti in modo esplicito, per ora TextView visualizza sempre 6. Aggiungerai il codice per tirare il dado e mostrare valori diversi nella prossima attività.
Ecco come dovrebbe apparire la classe MainActivity:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val rollButton: Button = findViewById(R.id.button)
rollButton.setOnClickListener {
val resultTextView: TextView = findViewById(R.id.textView)
resultTextView.text = "6"
}
}
}- Esegui l'app. Fai clic sul pulsante. Il valore di
TextViewdovrebbe essere aggiornato a "6".

L'unica cosa che manca è tirare i dadi. Puoi riutilizzare la classe Dice del codelab precedente, che gestisce la logica per tirare un dado.
Aggiungere la classe Dice
- Dopo l'ultima parentesi graffa nella classe
MainActivity, crea la classeDicecon un metodoroll().
class Dice(val numSides: Int) {
fun roll(): Int {
return (1..numSides).random()
}
}- Nota che Android Studio sottolinea
numSidescon una linea grigia ondulata. (Potrebbe occorrere qualche istante prima che venga visualizzato). - Passa il puntatore sopra
numSidese viene visualizzato un popup con il messaggio La proprietà "numSides" potrebbe essere privata.
Se contrassegni numSides come private, sarà accessibile solo all'interno del corso Dice. Poiché l'unico codice che utilizzerà numSides si trova all'interno della classe Dice, è possibile rendere questo argomento private per la classe Dice. Nella prossima unità scoprirai di più sulle variabili private e public.
- Procedi con la correzione suggerita da Android Studio facendo clic su Rendi "numSides" "private".
Crea un metodo rollDice()
Ora che hai aggiunto una classe Dice alla tua app, aggiornerai MainActivity per utilizzarla. Per organizzare meglio il codice, inserisci tutta la logica relativa al lancio di un dado in una sola funzione.
- Sostituisci il codice nel listener di clic che imposta il testo su "6" con una chiamata a
rollDice().
rollButton.setOnClickListener {
rollDice()
}- Poiché
rollDice()non è ancora definito, Android Studio segnala un errore e mostrarollDice()in rosso. - Se passi il puntatore sopra
rollDice(), Android Studio mostra il problema e alcune possibili soluzioni.

- Fai clic su Altre azioni… per visualizzare un menu. Android Studio ti offre la possibilità di fare di più.

- Seleziona Crea funzione "rollDice". Android Studio crea una definizione vuota per la funzione all'interno di
MainActivity.
private fun rollDice() {
TODO("Not yet implemented")
}Crea una nuova istanza dell'oggetto Dice
In questo passaggio, farai in modo che il metodo rollDice() crei e tiri un dado, quindi visualizzerai il risultato in TextView.
- In
rollDice(), elimina la chiamataTODO(). - Aggiungi il codice per creare un dado a 6 facce.
val dice = Dice(6)- Tira il dado chiamando il metodo
roll()e salva il risultato in una variabile chiamatadiceRoll.
val diceRoll = dice.roll()- Trova il
TextViewchiamando il numerofindViewById().
val resultTextView: TextView = findViewById(R.id.textView)La variabile diceRoll è un numero, ma TextView utilizza il testo. Puoi utilizzare il metodo toString() su diceRoll per convertirlo in una stringa.
- Converti
diceRollin una stringa e utilizzala per aggiornare il testo diresultTextView.
resultTextView.text = diceRoll.toString()Ecco come si presenta il metodo rollDice():
private fun rollDice() {
val dice = Dice(6)
val diceRoll = dice.roll()
val resultTextView: TextView = findViewById(R.id.textView)
resultTextView.text = diceRoll.toString()
}- Esegui l'app. Il risultato del dado dovrebbe cambiare in altri valori diversi da 6. Poiché si tratta di un numero casuale compreso tra 1 e 6, a volte potrebbe apparire anche il valore 6.

Evviva, sei il migliore!
È normale che il codice appaia un po' disordinato dopo aver modificato alcune parti qua e là per far funzionare l'app. Prima di abbandonare il codice, però, dovresti eseguire alcune semplici operazioni di pulizia. In questo modo, l'app sarà in buone condizioni e più facile da gestire in futuro.
Queste abitudini sono quelle che gli sviluppatori Android professionisti mettono in pratica quando scrivono il codice.
Guida di stile di Android
Quando lavori in team, è ideale che i membri del team scrivano il codice in modo simile, in modo che ci sia una certa coerenza nel codice. Per questo motivo, Android ha una guida di stile per la scrittura del codice Android, che include convenzioni di denominazione, formattazione e altre buone pratiche da seguire. Rispetta queste linee guida quando scrivi codice Android: Guida di stile Kotlin per gli sviluppatori Android.
Di seguito sono riportati alcuni modi per rispettare la guida di stile.
Ottimizzare il codice
Comprimere il codice
Puoi rendere il codice più conciso condensandolo in un numero inferiore di righe. Ad esempio, ecco il codice che imposta il listener dei clic su Button.
rollButton.setOnClickListener {
rollDice()
}Poiché le istruzioni per il listener di clic sono lunghe solo una riga, puoi condensare la chiamata al metodo rollDice() e le parentesi graffe in una sola riga. Ecco come si presenta. Una sola riga anziché tre.
rollButton.setOnClickListener { rollDice() }Riformattare il codice
Ora riformatta il codice per assicurarti che segua le convenzioni di formattazione del codice consigliate per Android.
- Nel corso
MainActivity.kt, seleziona tutto il testo del file con la scorciatoia da tastieraControl+Asu Windows (oCommand+Asu Mac). In alternativa, puoi andare al menu di Android Studio Modifica > Seleziona tutto. - Con tutto il testo selezionato nel file, vai al menu di Android Studio Code > Reformat Code (Codice > Riformatta codice) o utilizza la scorciatoia da tastiera
Ctrl+Alt+L(oCommand+Option+Lsu Mac).
che aggiorna la formattazione del codice, inclusi spazi vuoti, rientri e altro ancora. Potresti non notare alcuna modifica, il che è positivo. Il codice era già formattato correttamente.
Aggiungere commenti al codice
Aggiungi alcuni commenti al codice per descrivere cosa succede nel codice che hai scritto. Man mano che il codice diventa più complesso, è importante anche annotare perché hai scritto il codice in modo che funzioni in un determinato modo. Se torni al codice in un secondo momento per apportare modifiche, cosa fa il codice potrebbe essere ancora chiaro, ma potresti non ricordare perché lo hai scritto in quel modo.
È prassi comune aggiungere un commento per ogni classe (MainActivity e Dice sono le uniche classi presenti nella tua app) e per ogni metodo che scrivi. Utilizza i simboli /** e **/ all'inizio e alla fine del commento per indicare al sistema che non si tratta di codice. Queste righe verranno ignorate quando il sistema esegue il codice.
Esempio di commento su un corso:
/**
* This activity allows the user to roll a dice and view the result
* on the screen.
*/
class MainActivity : AppCompatActivity() {Esempio di commento su un metodo:
/**
* Roll the dice and update the screen with the result.
*/
private fun rollDice() {All'interno di un metodo, puoi aggiungere commenti se possono essere utili al lettore del tuo codice. Ricorda che puoi utilizzare il simbolo // all'inizio del commento. Tutto ciò che segue il simbolo // su una riga viene considerato un commento.
Esempio di due commenti all'interno di un metodo:
private fun rollDice() {
// Create new Dice object with 6 sides and roll it
val dice = Dice(6)
val diceRoll = dice.roll()
// Update the screen with the dice roll
val resultTextView: TextView = findViewById(R.id.textView)
resultTextView.text = diceRoll.toString()
}- Prenditi un po' di tempo per aggiungere commenti al tuo codice.
- Con tutte queste modifiche ai commenti e alla formattazione, è buona norma eseguire di nuovo l'app per assicurarsi che funzioni ancora come previsto.
Visualizza il codice della soluzione per un modo in cui avresti potuto commentare il tuo codice.
Il codice della soluzione per questo codelab si trova nel progetto e nel modulo mostrati di seguito.
Per ottenere il codice di questo codelab da GitHub e aprirlo in Android Studio, procedi nel seguente modo.
- Avvia Android Studio.
- Nella finestra Welcome to Android Studio (Benvenuto in Android Studio), fai clic su Check out project from version control (Estrai progetto dal controllo della versione).
- Scegli Git.
- Nella finestra di dialogo Clona repository, incolla l'URL del codice fornito nella casella URL.
- Fai clic sul pulsante Test, attendi e assicurati che venga visualizzata una bolla popup verde con il messaggio Connessione riuscita.
- (Facoltativo) Modifica la directory con un valore diverso da quello predefinito suggerito.
- Fai clic su Clona. Android Studio inizia a recuperare il codice.
- Nel popup Checkout dal controllo della versione, fai clic su Sì.
- Attendi l'apertura di Android Studio.
- Seleziona il modulo corretto per il codice di avvio o la soluzione del codelab.
- Fai clic sul pulsante Esegui
per creare ed eseguire il codice.
- Aggiungi un
Buttonin un'app per Android utilizzando l'editor layout. - Modifica la classe
MainActivity.ktper aggiungere un comportamento interattivo all'app. - Visualizza un messaggio
Toastcome soluzione temporanea per verificare di essere sulla strada giusta. - Imposta un listener di clic per un
ButtonutilizzandosetOnClickListener()per aggiungere un comportamento quando viene fatto clic su unButton. - Quando l'app è in esecuzione, puoi aggiornare lo schermo chiamando i metodi su
TextView,Buttono altri elementi UI nel layout. - Commenta il tuo codice per aiutare le altre persone che lo leggono a capire il tuo approccio.
- Riformatta il codice e puliscilo.
ButtonToastTextView- Guida di stile di Kotlin per gli sviluppatori Android
Procedi nel seguente modo:
- Aggiungi un altro dado all'app. Se fai clic sul pulsante Tira, dovresti tirare due dadi. I risultati devono essere visualizzati sullo schermo in due
TextViewsdiversi.
Controllare il lavoro:
L'app finita deve essere eseguita senza errori e mostrare due dadi.