Bentornati.
Continuiamo con il modello della vista.
Iniziare con il blocco iniziale.
All'interno del blocco initiate utilizzerò il modello di vista scoop dot launch.
Lo scoop del modello di vista lancia una coroutine nell'ambito del modello di vista, il
che significa che la coroutine sarà legata al ciclo di vita del modello di vista.
Lo scoop dot launch del modello di vista è un modello comunemente
usato nello sviluppo Android con il modello di vista Jetpack Compose.
Poiché le nostre funzioni nel repository sono di tipo suspend functions e vengono chiamate
da suspend o coroutine scoop, abbiamo bisogno di uno scoop per eseguire queste funzioni.
Per questo utilizziamo lo scoop del modello di vista.
Lo scoop del modello di vista consente di lanciare una coroutine nello scoop del modello di vista,
il che significa che la coroutine sarà legata al ciclo di vita del modello di vista.
Quando il modello di vista viene cancellato, tutte le coroutine lanciate nello scoop del
modello di vista vengono automaticamente annullate, evitando perdite di memoria e operazioni non necessarie.
Iniziamo con i blocchi di prova e di cattura.
All'interno di questo blocco di prova.
Inizierò con film val da API uguale a repository dot ottenere film popolari da API.
Qui è necessario fornire la chiave API ottenuta dal sito web di IMDb.
Torniamo qui.
Copio questo codice e lo incollo qui.
Ok, questa è la nostra chiave API.
Il passo successivo consiste nell'assegnare i filmati che abbiamo creato qui ai filmati.
Da film API equivale a film API.
In seguito, quando implementeremo il database delle stanze, modificheremo questo codice
e assegneremo i filmati ai filmati del database nel blocco catch.
Perciò lo terrò come normale e vuoto.
In seguito, si recupereranno i dati dal database della stanza.
Quindi, se la connessione al sito web non ha
successo, recupereremo i dati dal database locale della stanza.
Questo è l'uso di ViewModel scoop nel ViewModel.