Ciao amici.
Passiamo ora all'attività principale e chiamiamo la schermata del film componibile.
All'interno della funzione Oncreate, dobbiamo inizializzare alcune
variabili, come il repository e il ViewModel.
Dobbiamo creare un factory ViewModel.
E fornire il repository.
Poi dobbiamo creare il ViewModel stesso.
Il film ViewModel è uguale al ViewModel provider.
Dobbiamo passare due parametri: this e il factory ViewModel che abbiamo creato.
La classe ViewModel del film per ogni fornitore di ViewModel.
È una classe che fornisce istanze di ViewModel.
Assicura che l'istanza del ViewModel venga mantenuta per tutto l'ambito del ciclo di vita.
Ad esempio, l'attività o il frammento è vivo.
Aiuta anche a creare istanze di ViewModel utilizzando il factory ViewModel, se necessario.
Qui abbiamo la creazione di un ViewModel personalizzato, perché se torniamo al ViewModel del
filmato, possiamo notare che contiene un parametro repository e questo è un ViewModel personalizzato.
Dobbiamo creare un factory ViewModel per fornire questa creazione del ViewModel.
Si riferisce all'ambito corrente in cui il ViewModel deve essere posizionato.
In genere, si tratta di un'attività o di un frammento,
ma in questo caso si tratta di un'attività principale.
La fabbrica del ViewModel.
È una classe factory responsabile della creazione di istanze di ViewModel.
Fornendo un factory di ViewModel, si può controllare il modo in cui
il ViewModel viene istanziato, ad esempio passando i parametri del costruttore.
La classe ViewModel del film in Java.
Specifica il tipo di classe del ViewModel che si vuole recuperare.
Classe ViewModel del filmato.
Java indica che si vuole un'istanza del film ViewModel.
All'interno della funzione Setcontent.
Dobbiamo chiamare la schermata del filmato e passare il ViewModel.
Film ViewModel.
Eseguiamo la nostra applicazione e vediamo se ci sono errori.
Eccoci qua.
Abbiamo qui l'incidente.
Se andiamo al Logcat, forse mi sono
perso il permesso di Internet? Sì.
Manca l'autorizzazione a Internet.
Ecco, andate al manifesto.
Aggiungere l'autorizzazione agli utenti.
Autorizzazione.
Internet è ripartito in attesa della risposta.
L'applicazione funziona bene, ma forse non ho attivato Internet.
Quindi, accendetelo ed eccoci qui.
Congratulazioni ragazzi.
Abbiamo recuperato con successo i filmati dall'API di Tmdb org
e si può vedere come la nostra applicazione sia fluida.
Quindi, ad esempio, se spengo Internet, lo faccio ripartire.
Non c'è nulla da visualizzare perché il contenuto dipende dalla connessione a Internet.
Per recuperare i dati dall'API online, dobbiamo recuperare i
dati online e memorizzarli nel database della stanza.
Se la connessione è scollegata, dobbiamo recuperare i dati dal database della stanza.
Questo è lo scopo principale di questa applicazione.