WEBVTT

1
00:00.890 --> 00:02.030
Bentornati.

2
00:02.030 --> 00:04.130
Verifichiamo la nostra applicazione.

3
00:04.130 --> 00:04.910
Per questo.

4
00:04.910 --> 00:06.290
Passare all'attività principale.

5
00:06.290 --> 00:13.400
E all'interno della funzione Oncreate
otterremo l'istanza del database, il
repository e l'oggetto ViewModel. Inizio

6
00:13.400 --> 00:23.240
con la stanza db val database uguale a
database notes db dot get instance.

7
00:23.240 --> 00:26.510
Qui è necessario passare un oggetto
contesto.

8
00:26.510 --> 00:30.650
Per questo useremo il contesto
dell'applicazione.

9
00:30.680 --> 00:37.190
Il repository val repository equivale al
repository notes.

10
00:37.190 --> 00:40.430
E qui dobbiamo passare un oggetto
database.

11
00:40.430 --> 00:43.550
Così il punto di database nota Dao.

12
00:43.550 --> 00:51.620
Prima di usare il ViewModel, dobbiamo
ottenere un ViewModel factory

13
00:51.650 --> 00:56.600
ViewModel factory uguale a note ViewModel
factory note ViewModel factory.

14
00:56.630 --> 00:59.180
Passare il repository ad esso.

15
00:59.210 --> 01:02.960
Dopo aver creato il factory, dobbiamo
creare il ViewModel.

16
01:02.990 --> 01:07.400
Quindi Val equivale al fornitore di
ViewModel.

17
01:07.400 --> 01:14.480
E qui dobbiamo passare il proprietario,
che è questo e il factory ViewModel.

18
01:14.480 --> 01:20.420
Quindi creo questo factory ViewModel e lo
passo come parametro del nodo a ViewModel.

19
01:20.450 --> 01:26.720
Poiché abbiamo usato un repository come
oggetto passato al ViewModel.

20
01:26.750 --> 01:34.130
Di nuovo, ragazzi, se andiamo al ViewModel
del nodo, se non usiamo alcun

21
01:34.160 --> 01:36.650
oggetto personalizzato, non abbiamo
bisogno di usare il factory ViewModel del
nodo.

22
01:36.650 --> 01:44.150
Ma poiché stiamo passando un oggetto
personalizzato che è un repository,
dobbiamo usare il factory ViewModel.

23
01:44.150 --> 01:45.200
È molto semplice.

24
01:45.200 --> 01:54.320
Dobbiamo lanciare la classe ViewModel come
nodo, ancora una volta i ragazzi di Java
val node ViewModel.

25
01:54.320 --> 02:00.080
Si dichiara una variabile di sola lettura
denominata nodo ViewModel e nodo
ViewModel.

26
02:00.080 --> 02:05.120
Provider è una classe fornita dalla
libreria Android Architecture Components.

27
02:05.120 --> 02:11.000
È responsabile della creazione e della
gestione dell'istanza di ViewModel e il
primo parametro è.

28
02:11.000 --> 02:12.770
Questo è il proprietario.

29
02:12.770 --> 02:19.440
Si tratta di un riferimento allo scoop
corrente a cui

30
02:19.440 --> 02:20.370
il ViewModel deve essere legato,
tipicamente un'attività o un frammento.

31
02:20.370 --> 02:28.170
Questo assicura che il ViewModel sia
catturato correttamente e rimanga

32
02:28.170 --> 02:28.680
in vita finché l'attività o il frammento è
in vita.

33
02:28.710 --> 02:31.590
Il secondo parametro è il factory
ViewModel.

34
02:31.620 --> 02:35.340
Il factory ViewModel è un'istanza del
factory ViewModel provider.

35
02:35.340 --> 02:38.700
Questo factory è usato per creare
l'istanza del ViewModel.

36
02:38.700 --> 02:44.550
L'uso di un factory è utile se il
ViewModel richiede dipendenze che devono
essere passate al suo costruttore.

37
02:44.550 --> 02:51.300
Come ho detto, il nodo di ViewModel ha
bisogno di un repository all'interno del
parametro del suo costruttore.

38
02:51.300 --> 02:54.840
Quindi dobbiamo usare il factory
ViewModel.

39
02:54.840 --> 02:57.390
La classe ViewModel del nodo.

40
02:57.510 --> 02:58.290
Java.

41
02:58.320 --> 03:03.750
La sintassi è utilizzata per ottenere il
riferimento alla classe ViewModel del nodo
in Java.

42
03:03.750 --> 03:10.650
È un modo per specificare il tipo di
ViewModel che si

43
03:10.650 --> 03:11.670
vuole recuperare dal provider ViewModel e
dalla classe ViewModel nota.

44
03:11.670 --> 03:18.390
Java converte il riferimento di classe
Kotlin alla classe ViewModel in un
riferimento di

45
03:18.390 --> 03:25.650
classe Java, richiesto dal provider
ViewModel, che specificherà il tipo di
ViewModel da recuperare.

46
03:25.680 --> 03:31.830
Questo creerà un'istanza di ViewModel con
la dipendenza richiesta e il proprietario.

47
03:31.860 --> 03:36.630
Specifica il ciclo di vita del ViewModel
per l'attività o il frammento.

48
03:36.630 --> 03:42.810
Scorriamo fino a Setcontent e qui dobbiamo
visualizzare tutti i record.

49
03:42.840 --> 03:51.630
Val note per note ViewModel dot tutte le
note dot osservare come stato.

50
03:51.660 --> 04:00.420
Qui ho bisogno di passare un elenco vuoto
e se ci soffermiamo su

51
04:00.660 --> 04:02.220
questo errore, dobbiamo aggiungere una
dipendenza da Android che compone il
runtime dot.

52
04:02.220 --> 04:03.000
Fare clic su di esso.

53
04:03.000 --> 04:11.880
Andiamo al file Build.gradle e Android
Studio aggiunge questa

54
04:11.880 --> 04:14.190
implementazione libs dot android x dot
runtime dot LiveData.

55
04:14.190 --> 04:17.580
Si tratta di un'implementazione molto
importante.

56
04:17.580 --> 04:21.330
Per utilizzare questa funzione, osservare
lo stato.

57
04:21.330 --> 04:26.610
Vi spiego l'importanza di questo metodo.


