WEBVTT

1
00:00.920 --> 00:03.170
Salve amici e bentornati.

2
00:03.170 --> 00:08.030
In questo video impareremo a conoscere
l'architettura MVVM in Android.

3
00:08.030 --> 00:15.170
Immaginate di avere un robot a casa e di
voler creare un'applicazione per

4
00:15.170 --> 00:16.910
controllare questo robot affinché agiti la
mano quando viene premuto un pulsante.

5
00:16.910 --> 00:21.620
Abbiamo tre parti: il modello, che è il
cervello del robot.

6
00:21.650 --> 00:26.750
Il modello gestisce lo stato interno e le
operazioni del robot.

7
00:26.750 --> 00:31.340
Include dati e metodi per controllare
l'azione del robot.

8
00:31.340 --> 00:35.120
La vista, che è il telecomando contenente
un pulsante a onda.

9
00:35.120 --> 00:40.700
La vista è l'elemento dell'interfaccia
utente con cui l'utente interagisce.

10
00:40.730 --> 00:47.270
Visualizza gli stati del robot e include
un pulsante per far agitare la mano al
robot.

11
00:47.300 --> 00:54.950
Il modello della vista, che è il
traduttore, funge da mediatore tra la
vista e il modello.

12
00:54.950 --> 01:02.210
Traduce le azioni dell'utente in
operazioni sul modello e aggiorna la vista
di conseguenza.

13
01:02.210 --> 01:08.960
Così, ad esempio, se l'utente fa clic sul
pulsante "onda" nel controller, il
traduttore traduce

14
01:08.960 --> 01:15.380
e trasmette il comando al cervello del
robot e fa ondeggiare la mano del robot.

15
01:15.410 --> 01:22.430
In sintesi, il modello, che è il cervello
del robot, gestisce lo stato e le
operazioni del robot.

16
01:22.430 --> 01:23.240
Il panorama.

17
01:23.270 --> 01:31.490
Il pulsante wave visualizza gli stati del
robot e gestisce le interazioni con
l'utente, mentre il

18
01:31.490 --> 01:40.070
modello di vista, che è il traduttore, fa
da mediatore tra la vista e il

19
01:40.070 --> 01:42.530
modello, gestendo la logica di
presentazione e aggiornando la vista con
le modifiche del modello.

20
01:42.530 --> 01:50.480
Questa architettura garantisce una chiara
separazione delle preoccupazioni,

21
01:50.480 --> 01:51.890
rendendo l'applicazione più modulare,
testabile e manutenibile.

22
01:51.890 --> 01:58.040
Passiamo a conoscere l'MVVM in Android
model view You ViewModel.

23
01:58.070 --> 02:07.040
MVVM è un modello di architettura per
applicazioni client proposto

24
02:07.070 --> 02:10.070
da John Gossman come alternativa ai
pattern MVC e MVP.

25
02:10.070 --> 02:16.790
Quando si utilizza la tecnologia di data
binding, abbiamo la vista, che è
un'attività o un frammento o un

26
02:16.790 --> 02:25.370
elemento componibile, il ViewModel che
contiene i dati live e il repository del
modello sorgente di dati locale dal

27
02:25.400 --> 02:32.330
database della stanza contenente l'entità,
il database e la Dow, oppure dalla
sorgente di dati remota, che è un'API.

28
02:32.330 --> 02:34.790
E qui stiamo usando il retrofit.

29
02:34.790 --> 02:43.430
Il concetto di MVVM consiste nel separare
la logica di presentazione

30
02:43.430 --> 02:44.210
dei dati dalla logica di business,
spostandola in classi particolari.

31
02:44.210 --> 02:45.980
Per una chiara distinzione.

32
02:45.980 --> 02:51.170
I livelli di codice separati di MVVM sono
modali.

33
02:51.170 --> 03:00.900
Questo livello è responsabile
dell'astrazione del modello di origine dei
dati e del

34
03:00.900 --> 03:03.090
modello di visualizzazione che lavorano
insieme per ottenere e salvare i dati.

35
03:03.120 --> 03:04.200
Il panorama.

36
03:04.230 --> 03:10.590
Lo scopo di questo livello è informare il
modello di vista sull'azione dell'utente.

37
03:10.620 --> 03:18.060
Questo livello osserva il modello della
vista e non contiene alcun tipo di logica
applicativa.

38
03:18.090 --> 03:25.260
Il modello di vista espone i flussi di
dati che sono rilevanti per la vista.

39
03:25.290 --> 03:30.180
Inoltre, funge da collegamento tra il
modello e la vista.

40
03:30.210 --> 03:33.690
Queste sono le parti dell'architettura
MVVM.

41
03:33.720 --> 03:34.680
Il modello.

42
03:34.710 --> 03:36.990
Il modello di vista e la vista.

43
03:36.990 --> 03:39.540
Nei prossimi video si concluderanno le
sezioni.

44
03:39.540 --> 03:45.450
Impareremo a conoscere questa architettura
e la implementeremo nel nostro

45
03:45.450 --> 03:49.800
codice per imparare di più e approfondire
questa architettura pulita.


