Congratulazioni, ragazzi.
Abbiamo terminato la sezione del database delle stanze.
Ora creeremo il repository.
Un repository viene utilizzato per gestire le operazioni sui dati
e per astrarre le fonti di dati dal resto dell'applicazione.
Serve come unica fonte di verità per i dati dell'applicazione.
Il repository gestisce tutte le operazioni sui dati, come il recupero dei dati dalla rete,
il caricamento dei dati da un database locale o la combinazione di entrambe le fonti.
Fornisce un'API pulita per l'accesso ai dati al resto dell'applicazione, facilitando
la gestione e il riutilizzo del codice relativo ai dati.
Passiamo ad Android Studio e iniziamo a costruire il nostro repository.
È necessario creare un nuovo pacchetto.
Lo chiamerò repository e all'interno del pacchetto repository
creerò una nuova classe Kotlin chiamata Notes Repository.
Il repository gestisce tutte le operazioni sui dati, come il recupero dei dati dalla rete,
il caricamento dei dati da un database locale o la combinazione di entrambe le fonti.
Fornisce un'API pulita per l'accesso ai dati al resto dell'applicazione, facilitando
la gestione e il riutilizzo del codice relativo ai dati.
Il repository astrae le fonti di dati dal ViewModel e dai componenti dell'interfaccia utente.
Questa astrazione consente di cambiare l'origine dei dati, ad esempio passando da un database locale
a un dato remoto o a un'API remota, senza impattare su altre parti dell'applicazione.
Gestendo le operazioni sui dati nel repository, si separa la logica dei dati
dalla logica dell'interfaccia utente, rendendo il codice più modulare, leggibile e manutenibile.
All'interno di questa classe dobbiamo passare il costruttore private val note dao.
E qui dobbiamo creare due cose.
E dobbiamo chiamare le due funzioni.
Creiamo nel Dao l'inserto e otteniamo tutti i nodi.
Quindi tutte le funzioni dell'applicazione devono essere richiamate all'interno del repository delle note per
unificare e organizzare tutte le possibili fonti di dati in un unico repository.
In questo caso, abbiamo un solo database di stanze che recupera i dati da esso,
e all'interno di questo database di stanze abbiamo il Dio che contiene tutti i
metodi da eseguire sul database, che sono due metodi insert e get all notes.
Se ne abbiamo cinque qui, dovremmo menzionarle qui nel repository, in modo che tutte le note siano di
tipo live data di tipo list di tipo note uguale a note dao dot get all notes.
Qui chiamiamo questa funzione.
Ottenere tutte le note dal Dao e memorizzare l'elenco delle note in un dato live.
Perché se torniamo indietro, otteniamo il get all notes return live data dell'elenco di note.
Ok, quindi lo stesso tipo di ritorno.
La seconda funzione è insert, che è una funzione di sospensione.
A tale scopo, è necessario creare una funzione di sospensione e chiamarla insert.
È possibile inserire il nodo insert o qualsiasi cosa si desideri nell'oggetto parametro e nell'oggetto nodo.
Il nodo di ritorno fa il punto, inserisce e passa il nodo solo chiamando le funzioni dal Dao.
Se abbiamo più DAO.
Se abbiamo due DAO e ogni Dao contiene, ad esempio, quattro metodi.
Quindi dovremmo citare otto metodi nel repository.
Ok.
Prestate quindi attenzione al ruolo del repository.
Il repository nell'architettura MVVM funge da mediatore tra il ViewModel e le fonti di dati,
fornendo un'API pulita per le operazioni sui dati e garantendo una chiara separazione delle preoccupazioni.
Migliora la testabilità, la riusabilità e la flessibilità, rendendo
il codice più manutenibile e adattabile alle modifiche.