WEBVTT

1
00:00.920 --> 00:04.880
In questo video definiremo il Navhost e
passeremo il controllore nav.

2
00:04.880 --> 00:11.150
Il Navhost è un componente fondamentale di
un componente di navigazione composto da
jetpack.

3
00:11.150 --> 00:17.840
Funge da contenitore per ospitare il
grafico di navigazione all'interno
dell'interfaccia utente dell'applicazione.

4
00:17.870 --> 00:24.950
Il controller nav è un'istanza del
controller host

5
00:24.980 --> 00:25.910
nav che gestisce la navigazione
all'interno dell'host nav.

6
00:25.940 --> 00:32.330
Per definire un host nav, si parte da Nav
Host e si usa quello componibile.

7
00:32.330 --> 00:35.450
E qui dobbiamo passare il controllore Nav.

8
00:35.450 --> 00:41.510
E il controllore Nav in questo modo è il
nostro controllore Nav che viene passato
come parametro.

9
00:41.510 --> 00:46.010
E il grafico viene utilizzato per la
versione XML.

10
00:46.010 --> 00:51.890
Ma poiché stiamo lavorando con compose,
dobbiamo utilizzare un host nav diverso.

11
00:51.920 --> 00:58.580
Quindi, Alt più enter oppure si può
rimuovere l'host nav da qui e importarne
un altro.

12
00:58.580 --> 01:01.490
Importare e utilizzare questo componibile.

13
01:01.490 --> 01:06.410
Dobbiamo utilizzare la destinazione
iniziale, la destinazione iniziale.

14
01:06.410 --> 01:15.500
Inizio con nav route, dot home, dot path,
o semplicemente,

15
01:15.500 --> 01:16.790
se si preferisce non usare la classe nav
route sealed.

16
01:16.790 --> 01:18.380
È possibile utilizzare la casa.

17
01:18.380 --> 01:27.740
Ora, all'interno dell'ambito di questo
host nav, abbiamo Nav Graph Builder e qui
dobbiamo chiamare le funzioni

18
01:27.740 --> 01:32.690
che abbiamo creato per aggiungere la
schermata iniziale, la schermata di
fornitura e la schermata delle
impostazioni.

19
01:32.690 --> 01:36.680
La prima è la schermata iniziale Add.

20
01:36.680 --> 01:42.230
Dobbiamo passare due parametri al
controllore nav host e al costruttore nav
Graph.

21
01:42.230 --> 01:50.720
Per questo è necessario passare il
controllore nav e questo, che si

22
01:50.720 --> 01:52.610
riferisce all'ambito di questa funzione,
che è un costruttore di grafici nav.

23
01:52.640 --> 01:54.830
Ok, quindi l'host nav.

24
01:54.830 --> 02:00.590
All'interno di questa funzione abbiamo un
costruttore di grafici navali ed è uno
scoop.

25
02:00.590 --> 02:09.380
E passiamo questo passaggio alla schermata
Add home per creare

26
02:09.380 --> 02:10.130
i percorsi di navigazione e le rotte di
navigazione.

27
02:10.130 --> 02:17.060
Verifichiamo la nostra applicazione
tornando all'attività principale e
chiamando il grafico di navigazione.

28
02:17.060 --> 02:22.370
Ma qui definirò un nuovo controllore di
navigazione.

29
02:22.400 --> 02:25.520
Ricordare la funzione del controller
navale.

30
02:25.520 --> 02:32.180
Ricordiamo che la funzione nav controller
è un'utilità fornita dal componente di
navigazione jetpack composes.

31
02:32.180 --> 02:40.040
Viene utilizzato per creare e mantenere
un'istanza del controllore nav, che
gestisce la navigazione all'interno
dell'applicazione.

32
02:40.040 --> 02:46.100
Ricordiamo che la funzione nav controller
crea un'istanza di nav controller

33
02:46.100 --> 02:48.650
che può essere utilizzata per navigare tra
le destinazioni all'interno
dell'applicazione.

34
02:48.650 --> 02:55.100
Inoltre, garantisce che l'istanza venga
mantenuta in tutte le nostre composizioni,
il che significa che

35
02:55.100 --> 03:00.560
la stessa istanza viene utilizzata per
tutto il ciclo di vita del Composables Val
Navcontroller.

36
03:00.590 --> 03:07.160
Questo crea un riferimento mutabile per
l'istanza di Navcontroller restituita
dalla funzione remember

37
03:07.160 --> 03:13.040
Navcontroller, che può essere utilizzata
per eseguire azioni di navigazione
all'interno dei Composable.

38
03:13.070 --> 03:21.740
Qui chiamerò nav graph, che è la classe o
il file all'interno del nav graph di
Android Navigation.

39
03:21.770 --> 03:26.030
Il composito all'interno del dominio
dell'app di navigazione.

40
03:26.030 --> 03:27.470
Quindi userò questo.

41
03:27.470 --> 03:33.410
Specificare il Navcontroller passando il
Navcontroller creato in precedenza.

42
03:33.410 --> 03:37.310
Ora eseguiamo la nostra applicazione ed
eccola qui.

43
03:37.340 --> 03:43.160
Questa è la nostra applicazione: nella
schermata iniziale abbiamo il profilo e le
impostazioni.

44
03:43.160 --> 03:48.260
Ora apportiamo alcune modifiche
all'interfaccia utente per renderla più
leggibile.

45
03:48.290 --> 03:55.730
Qui definirò una nuova schermata iniziale
di testo con dimensione del carattere 40
SP.

46
03:55.940 --> 03:59.090
Inoltre, aggiungerò alcuni padding.

47
04:01.880 --> 04:04.220
Di nuovo una corsa a cento dpi.

48
04:04.220 --> 04:05.240
Ed eccoci qui.

49
04:05.270 --> 04:06.650
Questa è la nostra schermata iniziale.

50
04:06.650 --> 04:08.630
Ora testiamo la navigazione.

51
04:08.630 --> 04:12.650
Se si fa clic su questi pulsanti si
verifica un errore.

52
04:12.650 --> 04:16.490
Se andiamo nel logcat possiamo vedere
questa eccezione.

53
04:16.490 --> 04:21.200
Possiamo vedere che la destinazione di
navigazione corrisponde alla richiesta.

54
04:21.230 --> 04:29.000
Le destinazioni profonde del Nav e il
profilo della destinazione di navigazione
non sono figli diretti di

55
04:29.000 --> 04:39.410
questo grafo nav, perché non abbiamo
aggiunto la destinazione di navigazione al
grafo nav perché abbiamo specificato

56
04:39.410 --> 04:46.700
solo una destinazione, che è la
destinazione di navigazione home, non
abbiamo aggiunto il profilo e

57
04:46.700 --> 04:51.980
la navigazione delle impostazioni usando
la funzione composable qui all'interno del
costruttore nav e dell'host nav.

58
04:52.010 --> 04:56.360
Ok, nel prossimo video definiremo queste
destinazioni


