WEBVTT

1
00:01.190 --> 00:02.420
Ciao amici.

2
00:02.450 --> 00:06.740
Passiamo ora all'attività principale e
chiamiamo la schermata del film
componibile.

3
00:06.770 --> 00:13.700
All'interno della funzione Oncreate,
dobbiamo inizializzare alcune

4
00:13.700 --> 00:14.540
variabili, come il repository e il
ViewModel.

5
00:17.330 --> 00:20.630
Dobbiamo creare un factory ViewModel.

6
00:24.920 --> 00:27.080
E fornire il repository.

7
00:27.080 --> 00:30.920
Poi dobbiamo creare il ViewModel stesso.

8
00:30.950 --> 00:35.300
Il film ViewModel è uguale al ViewModel
provider.

9
00:35.300 --> 00:41.750
Dobbiamo passare due parametri: this e il
factory ViewModel che abbiamo creato.

10
00:41.780 --> 00:46.640
La classe ViewModel del film per ogni
fornitore di ViewModel.

11
00:46.670 --> 00:50.840
È una classe che fornisce istanze di
ViewModel.

12
00:50.840 --> 00:57.590
Assicura che l'istanza del ViewModel venga
mantenuta per tutto l'ambito del ciclo di
vita.

13
00:57.590 --> 01:00.380
Ad esempio, l'attività o il frammento è
vivo.

14
01:00.380 --> 01:06.620
Aiuta anche a creare istanze di ViewModel
utilizzando il factory ViewModel, se
necessario.

15
01:06.650 --> 01:13.730
Qui abbiamo la creazione di un ViewModel
personalizzato, perché se torniamo al
ViewModel del

16
01:13.740 --> 01:20.130
filmato, possiamo notare che contiene un
parametro repository e questo è un
ViewModel personalizzato.

17
01:20.130 --> 01:25.290
Dobbiamo creare un factory ViewModel per
fornire questa creazione del ViewModel.

18
01:25.290 --> 01:30.810
Si riferisce all'ambito corrente in cui il
ViewModel deve essere posizionato.

19
01:30.840 --> 01:36.630
In genere, si tratta di un'attività o di
un frammento,

20
01:36.630 --> 01:37.560
ma in questo caso si tratta di un'attività
principale.

21
01:37.560 --> 01:40.200
La fabbrica del ViewModel.

22
01:40.200 --> 01:45.180
È una classe factory responsabile della
creazione di istanze di ViewModel.

23
01:45.210 --> 01:51.660
Fornendo un factory di ViewModel, si può
controllare il modo in cui

24
01:51.660 --> 01:53.190
il ViewModel viene istanziato, ad esempio
passando i parametri del costruttore.

25
01:53.190 --> 01:55.410
La classe ViewModel del film in Java.

26
01:55.440 --> 02:00.570
Specifica il tipo di classe del ViewModel
che si vuole recuperare.

27
02:00.600 --> 02:02.070
Classe ViewModel del filmato.

28
02:02.070 --> 02:07.200
Java indica che si vuole un'istanza del
film ViewModel.

29
02:07.200 --> 02:09.990
All'interno della funzione Setcontent.

30
02:09.990 --> 02:14.610
Dobbiamo chiamare la schermata del filmato
e passare il ViewModel.

31
02:14.610 --> 02:15.570
Film ViewModel.

32
02:15.600 --> 02:20.100
Eseguiamo la nostra applicazione e vediamo
se ci sono errori.

33
02:20.130 --> 02:20.910
Eccoci qua.

34
02:20.940 --> 02:22.920
Abbiamo qui l'incidente.

35
02:22.920 --> 02:27.500
Se andiamo al Logcat, forse mi sono

36
02:27.650 --> 02:29.330
perso il permesso di Internet? Sì.

37
02:29.330 --> 02:31.250
Manca l'autorizzazione a Internet.

38
02:31.250 --> 02:33.980
Ecco, andate al manifesto.

39
02:33.980 --> 02:36.230
Aggiungere l'autorizzazione agli utenti.

40
02:36.230 --> 02:37.040
Autorizzazione.

41
02:37.040 --> 02:41.180
Internet è ripartito in attesa della
risposta.

42
02:41.180 --> 02:46.610
L'applicazione funziona bene, ma forse non
ho attivato Internet.

43
02:46.610 --> 02:50.750
Quindi, accendetelo ed eccoci qui.

44
02:50.750 --> 02:52.280
Congratulazioni ragazzi.

45
02:52.280 --> 03:02.750
Abbiamo recuperato con successo i filmati
dall'API di Tmdb org

46
03:02.780 --> 03:09.080
e si può vedere come la nostra
applicazione sia fluida.

47
03:09.080 --> 03:14.570
Quindi, ad esempio, se spengo Internet, lo
faccio ripartire.

48
03:14.570 --> 03:19.790
Non c'è nulla da visualizzare perché il
contenuto dipende dalla connessione a
Internet.

49
03:19.790 --> 03:27.170
Per recuperare i dati dall'API online,
dobbiamo recuperare i

50
03:27.170 --> 03:28.070
dati online e memorizzarli nel database
della stanza.

51
03:28.070 --> 03:33.800
Se la connessione è scollegata, dobbiamo
recuperare i dati dal database della
stanza.

52
03:33.800 --> 03:36.950
Questo è lo scopo principale di questa
applicazione.


