Abbiamo creato tutte le parti del database della stanza, il DB dei film, il Dao dei film e la classe entità dei film.
Ora spostiamoci nel repository e aggiungiamo le funzioni che
sono state create qui nel Dao all'interno del repository.
Come abbiamo già detto, il repository gestisce le operazioni sui dati e le fonti di dati astratte.
Funge da ponte tra diverse fonti di dati.
DB online.
DB locale e il resto dell'applicazione.
Abbiamo questa funzione per recuperare i dati online dell'API.
Ora andiamo a recuperare i dati dal database offline.
Come già detto, il repository contiene tutti i metodi per recuperare i dati.
Ecco la funzione online.
E dobbiamo implementare le tre funzioni che sono nel Dao per recuperare i dati dal database della stanza.
A tal fine è necessario creare alcune variabili.
Inizierò con il valore privato db uguale a film db dot get instance.
Ho bisogno di ottenere un'istanza da questo film db e di chiamare questa funzione che abbiamo creato prima.
Ma questa funzione ha bisogno di un contesto, quindi è necessario passare un oggetto contesto.
Ma il problema è che non abbiamo un contesto all'interno di questo repository.
Per questo devo creare un parametro di contesto all'interno del repository.
Alt+.
Entrare.
Ho acquistato la classe di contesto.
Ok, dobbiamo usare il contesto per poterlo utilizzare nella creazione del database delle stanze.
Ok, questo è molto importante.
Dobbiamo creare un Dao.
Film Dao.
È di tipo movie Dao uguale a DB dot movies Dao.
E dobbiamo iniziare a usare le funzioni di sospensione che abbiamo elencato nel film Dao suspend function.
Ottenere film da db.
Restituisce un elenco di film.
Restituzione del film Dao Punto Dao.
Ottenere tutti i film in DB.
Ok, quindi sto chiamando questa funzione ora dobbiamo chiamare questa
funzione sospendere la funzione inserire i film nel db.
Il programma accetta un elenco di film come parametro e deve essere portato a destinazione.
Film e dobbiamo restituire il film.
Il punto IO inserisce l'elenco dei filmati.
Passate i film.
Ok, dobbiamo anche chiamare questa funzione che inserisce solo
un singolo filmato, ma non è necessario usarla.
Il.
In realtà, non utilizzeremo questo metodo per inserire un filmato
nel DB, ma nella nostra applicazione non utilizzeremo questo filmato.
Film.
Film di ritorno.
La funzione di inserimento dei punti IO.
Passare il singolo filmato, perché voglio che si capisca sempre che
dobbiamo passare nel repository che recupera i dati dall'API online.
Recupero dei dati dal database della sala offline.
Inoltre, se si desidera recuperare i dati dalla cache, ad esempio, è necessario creare una terza sezione e
chiamare tutti i metodi relativi al recupero dei dati e all'inserimento, cancellazione, aggiornamento e interrogazione dei dati.
Ok, questo è il nostro repository aggiornato.