WEBVTT

1
00:01.040 --> 00:08.540
Per visualizzare i filmati in un elenco a
scorrimento

2
00:08.540 --> 00:09.950
verticale, dobbiamo creare una colonna
pigra all'interno delle schermate.

3
00:09.980 --> 00:14.660
Creare un nuovo file Kotlin chiamato
Elenco di film.

4
00:14.660 --> 00:17.810
Creerò una nuova funzione componibile.

5
00:17.810 --> 00:22.100
L'elenco dei film prende in considerazione
i film del parametro.

6
00:22.130 --> 00:23.930
È un elenco di film.

7
00:23.960 --> 00:27.290
Importare il pacchetto e la classe del
film.

8
00:27.290 --> 00:37.760
Utilizzerò le colonne pigre film, questa
espressione lambda, elenco di film o
elemento di film.

9
00:37.760 --> 00:40.700
Vediamo cosa abbiamo fatto qui.

10
00:40.730 --> 00:41.420
Pigro.

11
00:41.420 --> 00:46.640
Kotlin è un compositore che crea un elenco
a scorrimento verticale.

12
00:46.640 --> 00:54.620
Si chiama lazy perché compone e dispone
solo gli elementi

13
00:54.620 --> 00:57.260
visibili sullo schermo, contribuendo così
a ottimizzare le prestazioni.

14
00:57.260 --> 01:06.000
La funzione items È una funzione
utilizzata per definire

15
01:06.000 --> 01:06.660
l'elenco degli elementi da visualizzare
nella colonna lazy.

16
01:06.660 --> 01:14.310
Film è un elenco o un insieme iterabile
contenente i

17
01:14.310 --> 01:17.100
dati che saranno visualizzati nell'elenco
per ogni elemento di film.

18
01:17.130 --> 01:26.460
Andare a eseguire la funzione Lambda che
segue con l'elemento corrente film e
l'elemento film.

19
01:26.460 --> 01:33.000
È la funzione lambda che definisce il
contenuto da visualizzare per ogni
elemento dell'elenco.

20
01:33.000 --> 01:35.610
In questo caso, per ogni film.

21
01:35.610 --> 01:41.100
Nell'elenco dei film, viene creato
l'elemento film composable.

22
01:41.130 --> 01:48.930
L'oggetto filmato viene passato come
parametro al compositore di

23
01:48.930 --> 01:50.910
oggetti filmati, consentendogli di
visualizzare i dettagli del filmato.

24
01:50.910 --> 01:56.010
Voglio che scriviate queste note perché
sono molto importanti.

25
01:56.010 --> 02:04.410
Se si verificano errori con gli elementi,
è molto semplice scrivere di

26
02:04.410 --> 02:04.920
nuovo gli elementi e invece di usare int,
usare la lista.

27
02:04.920 --> 02:07.380
Perché questo film è un elenco.

28
02:07.380 --> 02:10.300
Passiamo a creare un'altra schermata.

29
02:10.330 --> 02:13.810
Nuovo file denominato Schermata film.

30
02:14.140 --> 02:19.870
Al suo interno, creerò una nuova funzione
componibile, denominata Schermo
cinematografico.

31
02:19.870 --> 02:26.170
Prendendo come parametro un oggetto
ViewModel di tipo movie ViewModel.

32
02:26.170 --> 02:28.450
Voglio che vi concentriate su di me.

33
02:28.450 --> 02:31.720
Torniamo ora al ViewModel del filmato.

34
02:31.720 --> 02:40.630
In questo caso abbiamo usato lo Stato
mutabile dell'elenco dei film e non
abbiamo usato LiveData per questo.

35
02:40.630 --> 02:45.070
Non useremo l'osservazione come stato come
abbiamo fatto in precedenza.

36
02:45.070 --> 02:48.460
Utilizzeremo lo stato mutabile di.

37
02:48.460 --> 02:54.970
Per questo motivo, inizierò con l'elenco
di filmati val uguale a ViewModel dot.

38
02:54.970 --> 02:57.010
Dammi la lista dei film.

39
02:57.010 --> 03:00.910
Quindi accedo a questo ViewModel e ottengo
i filmati.

40
03:00.910 --> 03:07.690
E qui i film sono uno stato mutabile
dell'elenco di film e non un LiveData
dell'elenco di film.

41
03:07.690 --> 03:09.730
Questo è molto importante.

42
03:09.760 --> 03:15.630
Aggiornamento e potenziamento dei
compositi e della creazione e codifica del
codice.

43
03:15.630 --> 03:19.800
È molto importante notare che i film sono
uno stato mutevole.

44
03:19.830 --> 03:27.330
È possibile accedervi direttamente, senza
dover osservare lo stato e

45
03:27.330 --> 03:28.950
trasformare i LiveData in stato, quindi
osservare lo stato.

46
03:28.980 --> 03:30.690
No, è molto semplice.

47
03:30.690 --> 03:36.720
Dobbiamo chiamare l'elenco dei film e
passargli l'elenco dei film.

48
03:36.720 --> 03:40.740
Elenco filmati I filmati corrispondono
all'elenco dei filmati.

49
03:40.770 --> 03:45.870
Si può chiedere se la variabile di stato
del film viene modificata.

50
03:45.870 --> 03:48.810
Come posso osservare questo cambiamento?
Si tratta

51
03:48.810 --> 03:51.840
di uno stato mutevole dell'elenco di film.

52
03:51.840 --> 03:55.050
Qualsiasi modifica della variabile di
stato del film.

53
03:55.050 --> 03:59.640
Si attiverà una ricomposizione automatica
della schermata del filmato.

54
03:59.640 --> 04:07.530
Composta perché questa schermata di
filmati composta dipende dall'elenco di

55
04:07.530 --> 04:07.920
film e dall'elenco di film a cui si accede
qui.

56
04:07.920 --> 04:12.060
All'interno del ViewModel c'è uno stato
mutabile di un elenco di filmati.

57
04:12.060 --> 04:22.210
Qualsiasi modifica Ancora una volta,
qualsiasi modifica all'elenco dei filmati
si ripercuoterà sulla schermata

58
04:22.210 --> 04:26.440
dei filmati composta e attiverà la
ricomposizione automatica di questa
schermata dei filmati.

59
04:26.440 --> 04:27.430
Componibile.

60
04:27.430 --> 04:32.770
Questa è la potenza dell'uso dei
composable e la potenza di Jetpack
Compose.

61
04:32.770 --> 04:36.310
Voglio che comprendiate questo
aggiornamento.

62
04:36.310 --> 04:42.880
Negli esempi precedenti e nei corsi e
lezioni precedenti e XML.

63
04:42.910 --> 04:45.070
LiveData, Kotlin.

64
04:45.100 --> 04:45.880
Java.

65
04:45.880 --> 04:48.760
Stavamo osservando lo Stato.

66
04:48.760 --> 04:51.940
Stavamo osservando i dati in tempo reale.

67
04:51.940 --> 04:57.790
E qui, con la potenza di Jetpack Compose,
non c'è bisogno di osservare nulla.

68
04:57.790 --> 05:05.200
Qualsiasi modifica ai film, che è uno
stato mutevole

69
05:05.200 --> 05:05.590
dell'elenco di film, attiverà la
ricomposizione automatica di questo.

70
05:05.590 --> 05:10.210
Componibile perché questo componibile
dipende dall'elenco dei film.

71
05:10.240 --> 05:14.830
Ok ragazzi, voglio che comprendiate questo
argomento molto importante.

72
05:14.830 --> 05:22.420
Questo è l'obiettivo principale di questo
video: osservare lo stato mutevole di.


