WEBVTT

1
00:00.680 --> 00:01.850
Bentornati.

2
00:01.850 --> 00:07.880
In questa sezione impareremo a conoscere
un concetto

3
00:07.880 --> 00:08.390
molto importante in Jetpack Compose,
ovvero lo stato.

4
00:08.390 --> 00:16.220
Jetpack compose si è imposto come un vero
e proprio cambiamento, trasformando lo

5
00:16.220 --> 00:18.050
sviluppo dell'interfaccia utente da un
approccio prevalentemente imperativo a uno
completamente dichiarativo.

6
00:18.050 --> 00:24.860
Uno degli elementi centrali che Jetpack
Compose rivoluziona è la gestione degli
stati.

7
00:24.860 --> 00:32.690
Il modo in cui i dati fluiscono,
reagiscono e vengono presentati all'utente
ha subito un cambiamento fondamentale.

8
00:32.720 --> 00:36.050
Jetpack compose è un framework reattivo.

9
00:36.050 --> 00:44.450
Invece di dover chiamare il metodo set,
text o Setcolor per aggiornare
l'interfaccia

10
00:44.450 --> 00:49.910
utente, compose aggiorna automaticamente
l'interfaccia utente quando lo stato di
quest'ultima viene aggiornato.

11
00:49.910 --> 00:59.170
Il modo in cui compose è a conoscenza di
tali modifiche dell'interfaccia utente è
utilizzando

12
00:59.170 --> 01:02.800
l'oggetto di stato Jetpack Compose Quasi
ogni applicazione aggiorna l'interfaccia
utente in fase di esecuzione.

13
01:02.800 --> 01:06.400
In Jetpack Compose, lo facciamo gestendo
lo stato.

14
01:06.400 --> 01:11.080
Probabilmente uno dei termini più
sovraccarichi nella programmazione
dell'interfaccia utente.

15
01:11.080 --> 01:20.530
Certamente in compose lo stato, nel suo
stato più generale, si riferisce a
qualsiasi dato conservato in memoria.

16
01:20.560 --> 01:30.130
Lo stato della Ram o del disco può
cambiare nel tempo,

17
01:30.130 --> 01:30.790
ma le modifiche sono persistenti per un
certo periodo di tempo.

18
01:30.790 --> 01:35.620
Lo stato può risiedere nelle variabili di
una funzione o nelle proprietà.

19
01:35.620 --> 01:37.120
Campi di una classe.

20
01:37.120 --> 01:45.820
Nel contesto di jetpack compose, uno stato
è un valore che è

21
01:45.820 --> 01:47.290
legato all'aggiornamento dell'interfaccia
utente ogni volta che un valore di stato
cambia.

22
01:47.320 --> 01:51.520
Jetpack compose aggiornerà automaticamente
l'interfaccia utente per voi.

23
01:51.520 --> 01:55.270
Il valore dello stato può essere di
qualsiasi tipo.

24
01:55.270 --> 01:59.700
A volte può essere semplice come un
booleano o una stringa.

25
01:59.730 --> 02:07.320
Altre volte, lo stato può essere una
classe di dati complessa che contiene
valori per l'intera schermata
renderizzata.

26
02:07.320 --> 02:15.120
Affinché compose sia consapevole dei
cambiamenti di stato, i valori

27
02:15.150 --> 02:15.870
di stato devono essere avvolti in un
oggetto stato.

28
02:15.870 --> 02:21.360
È possibile farlo utilizzando lo stato
mutabile della funzione.

29
02:21.360 --> 02:30.690
Questo restituirà un oggetto di stato
mutabile e compose terrà traccia delle

30
02:30.690 --> 02:33.660
modifiche e aggiornerà l'interfaccia
utente ogni volta che il valore verrà
modificato.

31
02:33.660 --> 02:39.750
Non aggiornare mai il valore degli stati
al di fuori dell'oggetto stato.

32
02:39.780 --> 02:46.650
In caso contrario, compose non sarà a
conoscenza delle modifiche e non potrà
aggiornare l'interfaccia utente.

33
02:46.680 --> 02:53.580
Passiamo ad Android Studio e iniziamo a
imparare e ad approfondire la gestione
degli stati.


