WEBVTT

1
00:01.160 --> 00:06.020
L'ultima parte dell'implementazione del
database della stanza è la classe del
database.

2
00:06.020 --> 00:12.230
La classe del database fornisce
all'applicazione istanze dei DAO definiti
dall'utente.

3
00:12.230 --> 00:20.690
A sua volta, l'applicazione può usare i
DAO per recuperare

4
00:20.690 --> 00:21.050
i dati dal database come istanze dei dati
associati.

5
00:21.050 --> 00:22.340
Oggetti entità.

6
00:22.340 --> 00:29.180
L'applicazione può anche utilizzare le
entità di dati definite per aggiornare le

7
00:29.210 --> 00:31.520
righe delle tabelle corrispondenti o per
creare nuove righe da inserire.

8
00:31.520 --> 00:35.960
Passiamo ad Android Studio e iniziamo a
creare la classe del database.

9
00:35.960 --> 00:43.580
All'interno del pacchetto room, dobbiamo
creare una nuova classe Kotlin, che
chiameremo Notes DB.

10
00:43.730 --> 00:52.340
Contrassegnare questa classe con la parola
chiave abstract, perché non è necessario
creare istanze di questa classe.

11
00:52.340 --> 00:59.210
Inoltre, per dire a un database di stanze
che questa classe agirà come

12
00:59.210 --> 01:01.460
una classe di database di stanze, dobbiamo
annotarla con l'annotazione del database.

13
01:01.460 --> 01:07.470
Qui è necessario specificare le entità, le
tabelle di questo o di questo database.

14
01:07.470 --> 01:09.750
Qui le entità equivalgono a.

15
01:09.780 --> 01:12.990
Dobbiamo specificarli all'interno di un
array.

16
01:13.020 --> 01:14.640
Array di entità.

17
01:14.760 --> 01:21.660
Poiché abbiamo una sola classe di entità,
che è il nodo,

18
01:21.690 --> 01:22.530
dobbiamo specificarla all'interno di
questo array come un unico oggetto.

19
01:22.530 --> 01:26.790
Quindi dobbiamo specificare il nodo come
classe.

20
01:26.790 --> 01:31.620
Poi dobbiamo specificare la versione del
database, che è la numero uno.

21
01:31.620 --> 01:34.830
Questa è la prima versione del nostro
database.

22
01:34.830 --> 01:39.480
Se è necessario modificare la gerarchia di
questo database, si deve cambiare la
versione.

23
01:39.480 --> 01:48.780
Anche per creare l'oggetto database
iniziamo con var instance uguale a room
dot database builder.

24
01:48.780 --> 01:56.790
All'interno di questo costruttore dobbiamo
specificare tre cose: il contesto,

25
01:56.790 --> 01:58.080
la classe del database e il nome del
database.

26
01:58.080 --> 02:07.000
Qui dobbiamo iniziare con il contesto
punto contesto uguale al contesto punto
applicazione.

27
02:07.030 --> 02:11.320
Dobbiamo passare il contesto nei parametri
del db del nodo.

28
02:11.350 --> 02:13.990
Ma aspetta, non ce la faremo a venire qui.

29
02:13.990 --> 02:16.900
Lo realizzeremo con una funzione.

30
02:16.900 --> 02:21.460
Nel prossimo video impareremo a conoscere
il pattern singleton.

31
02:21.460 --> 02:25.000
Abbiamo seguito la creazione del database
della sala interna.

32
02:25.000 --> 02:29.710
Ma seguitemi solo per dimostrare tutto.

33
02:29.710 --> 02:37.810
Il secondo parametro da passare è la
classe che funge da

34
02:37.810 --> 02:39.220
database, ovvero la classe del database
del nodo in Java.

35
02:39.250 --> 02:44.620
Il terzo parametro è il nome del database
da creare.

36
02:44.620 --> 02:49.300
Creerò un database chiamato nodes
underscore db.

37
02:49.450 --> 02:55.240
Quindi dobbiamo chiamare la funzione build
room dot database builder.

38
02:55.270 --> 02:59.230
Si tratta di un metodo statico fornito
dalla libreria Room.

39
02:59.230 --> 03:06.970
Per creare un'istanza del database di una
stanza, si utilizza lo

40
03:06.970 --> 03:07.960
schema del costruttore per configurare e
costruire l'istanza del database.

41
03:08.100 --> 03:14.190
il contesto dei parametri è un oggetto
dell'applicazione o dell'attività.

42
03:14.220 --> 03:22.140
Il contesto è necessario per accedere ai
file, al sistema

43
03:22.140 --> 03:23.040
e alle risorse dell'applicazione per
creare e gestire il database.

44
03:23.130 --> 03:27.180
Il secondo parametro è la classe DB del
nodo.

45
03:27.180 --> 03:31.710
Specifica la classe che rappresenta il
database della stanza.

46
03:31.710 --> 03:37.020
Il DB di Node dovrebbe essere una classe
astratta che estende il database della
stanza.

47
03:37.020 --> 03:45.600
Questa classe serve come punto di accesso
principale al database SQLite

48
03:45.600 --> 03:47.760
sottostante e al terzo parametro, che è il
nodo db.

49
03:47.790 --> 03:50.790
È il nome del file del database.

50
03:50.790 --> 03:59.610
Room userà questo nome per creare o aprire
il file del database nella memoria interna
dell'applicazione

51
03:59.610 --> 04:05.370
e noi usiamo il metodo build fornito da
room per costruire il database della
stanza.

52
04:05.370 --> 04:07.530
Con queste proprietà.


