Passa ai contenuti principali

Android Studio - Tabbed Activity: costruire l'app all'interno delle schede

In questo articolo vedremo come costruire la propria alla all'interno delle schede.

Dopo aver creato la base con TabActivity descritta in questo articolo e creati i vari layout che compongono l'app occorre creare il codice in modo che l'app interagisca con l'utente.
All'interno della cartella layout contenuta nella cartella res ci saranno i seguenti file:
  • activity_main.xml
  • fragment1.xml
  • fragment2.xml
  • ecc..
  • fragment_main.xml
All'interno della cartella java ci saranno i seguenti file:
  • Fragment1.kt
  • Fragment2.kt
  • ecc..
  • MainActivity.kt
In questo esempio vedremo come creare l'app all'interno dei layout:
  • fragment1.xml
  • fragment2.xml
e di conseguenza creare il codice all'interno dei seguenti file:
  • Fragment1.kt
  • Fragment2.kt

Ecco come si presenta il file fragment1.xml Ecco come si presenta il file Fragment1.kt
Ecco come si presenta il file fragment2.xml Ecco come si presenta il file Fragment2.kt
In questo esempio ho voluto differenziare i due layout in quanto il primo è un semplicissimo layout con un pulsante che se premuto viene visualizzato il nome della scheda, mentre nel secondo layout vengono eseguiti dei calcoli matematici.

A livello di codice, la differenza è che nel primo layout se viene orientato lo schermo si perde il contenuto che è stato inserito nella TextView dopo aver premuto il pulsante.
Nel secondo layout se viene orientato lo schermo non si perde il contenuto delle due TextView in quanto è stata utilizzata la funzione onSaveInstanceState() che abbiamo visto in questo articolo con l'unica differenza che non viene utilizzata la funzione onRestoreInstanceState().
Il salvataggio dello stato precedente e il suo ripristino vengono eseguiti in questo modo:
con queste righe di codice viene eseguito il salvataggio dello stato: e recuperato lo stato precedente con queste righe di codice
Layout fragment1 in posizione portrait (verticale)
Layout fragment1 in posizione landscape (orizzontale)
Come si può vedere quando si orienta lo schermo viene ripristinato il contenuto della TextView allo stato originale.

Layout fragment2 in posizione portrait (verticale)
Layout fragment2 in posizione landscape (orizzontale)
Come si può vedere quando si orienta lo schermo viene ripristinato lo stato precedente delle due TextView.

Ecco un video dimostrativo


Download Project
Download file APK


Vedi anche Tabbed Activity: creazione delle schede
Vedi anche Tabbed Activity: personalizzazione
Vedi anche Tabbed Activity: aggiungere OptionMenu in ActionBar

Commenti

Post popolari in questo blog

Arduino - Lampeggio Led (delay vs. millis)

Cosa sono delay() e millis()? Delay() è una funzione che mette in pausa il programma per un determinato tempo espresso in millisecondi, così facendo viene interrotta l'esecuzione del programma e se abbiamo un dispositivo in ingresso che durante il tempo di pausa cambia di stato il programma non se ne accorge fino a quando non ricomincia l'esecuzione dall'inizio. La struttura di delay è: delay(1000);   da inserire nel punto dello sketch in qui si vuole interrompere il programma in questo modo il programma viene messo in pausa per 1000 millisecondi = 1 secondo. Per saperne di più Millis() è una funzione che permette di sapere da quanto tempo è in funzione il microprocessore di Arduino UNO. In questo modo il programma non andrà mai in pausa ed è sempre in esecuzione, perché millis memorizza il tempo trascorso dall'avvio e poi per eseguire una determinata funzione si fa un controllo del tempo iniziale e il tempo trascorso. Per saperne di più Vediamo un esempi

Arduino - Utilizzo potenziometro e display LCD

Leggere il valore di un poteziometro (parte 1) Il potenziometro è un componente molto utilizzato in elettronica in quanto il suo uso permette di regolare una tensione variabile (in questo caso 0 - 5 Volt) in ingresso al microcontrollore. Il potenziometro va collegato secondo lo schema qui sotto al pin analogico A0 di Arduino.

Arduino - Lettura tensione potenziometro e display LCD

Leggere il valore di un poteziometro (parte 2) Oggi vedremo come leggere il valore in tensione di un potenziometro collegato al pin Analogico A0 di Arduino.