Dopo aver creato la classe entità, dobbiamo implementare la
seconda parte del database delle stanze, ovvero la Dow.
Dow è l'acronimo di Data Access Object, un modello che si
può usare per separare il livello di persistenza dal resto dell'applicazione.
Fornendo un'interfaccia astratta.
La funzionalità di Dow consiste nel nascondere tutte le complessità legate all'esecuzione di
operazioni sui database nel livello di persistenza sottostante, separato dal resto dell'applicazione.
Ciò consente di modificare il livello dei dati indipendentemente dal codice che li utilizza.
Il Dow.
È possibile inserire, cancellare, aggiornare e interrogare i dati del database.
In sintesi, l'oggetto Dow Data Access è un'interfaccia o una
classe astratta che definisce i metodi di accesso al database.
Utilizza le annotazioni per mappare le query SQL alle funzioni, consentendo agli sviluppatori di interagire
con il database senza scrivere SQL direttamente all'interno del pacchetto di database della stanza.
Creeremo una nuova classe Kotlin.
Lo chiamerò nota Dao.
In realtà si tratta di un'interfaccia.
Selezionate quindi l'interfaccia ed ecco che si parte.
Indicare ad Android Studio che questa interfaccia agirà come un Dao nel nostro database di stanze.
Dobbiamo annotarlo con add Dao.
Si può notare che lo stiamo importando da android.ru.
Ok, questa è l'importazione del pacchetto Dao.
Il Dao è tipicamente un'interfaccia o una classe astratta in
cui si definiscono i metodi per varie operazioni sul database.
Per semplicità, creeremo due funzioni.
Per prima cosa dobbiamo annotare il primo metodo con insert
e lo trasformeremo in una funzione di sospensione denominata insert.
E stiamo inserendo nel database un record di tipo nodo, che viene creato prima dell'annotazione insert.
Una sala fornisce annotazioni per eseguire operazioni sul database.
Le annotazioni più comuni includono.
aggiungere, inserire, aggiornare, cancellare e interrogare inserire dati nel database.
Aggiornamento.
Aggiornare i dati esistenti.
Cancellare.
Elimina l'annotazione dei dati e della query.
Interrogazione.
Lasciate che vi mostri.
Qui la query esegue una query SQL personalizzata.
È l'annotazione più versatile, che consente di effettuare interrogazioni complesse.
Ad esempio, selezionare.
Dobbiamo creare una stringa.
Selezionare tutti dalla tabella dei nodi.
La parola chiave "sospendere".
Le funzioni di sospensione in Kotlin sono utilizzate nelle
coroutine per eseguire operazioni asincrone senza bloccare il thread.
La parola chiave Suspend contrassegna una funzione come sospendibile, il che significa che può sospendere
la sua esecuzione e riprenderla in seguito, consentendo un codice non bloccante e non bloccante.
Permette di eseguire attività di lunga durata, come richieste di
rete o operazioni di database, senza bloccare il thread principale.
Pausa e ripresa.
È possibile utilizzare la funzione di sospensione per mettere in pausa e riprendere un'attività che può
essere messa in pausa e ripresa in un secondo momento, consentendo un multitasking efficiente, e
la coroutine deve essere chiamata dall'interno di una coroutine o di un'altra funzione di sospensione.
Si rimanda alla sezione sulle coroutines all'inizio del corso.
In sintesi, la funzione suspend consente di scrivere codice asincrono in
modo sequenziale, migliorando la leggibilità e l'efficienza delle applicazioni Kotlin.
Quindi introduciamo l'annotazione insert e l'annotazione query.
Inoltre, abbiamo introdotto la funzione di sospensione.
Inseriamo la nota nel thread in background
nella seconda funzione all'interno del nodo Dao.
Non useremo la funzione di sospensione.
Utilizzeremo direttamente una funzione chiamata get all nodes.
Perché è una domanda molto semplice.
Non abbiamo bisogno di un thread in background per eseguire questa azione.
Andate a prendere tutti i record all'interno della tabella.
Ottenere tutti i nodi.
Li restituisce come dati vivi di tipo elenco.
Da notare.
Importare la classe LiveData e questo va bene.
LiveData è una classe di dati osservabili progettata per contenere dati che possono essere
osservati all'interno di un determinato ciclo di vita, come un'attività o un frammento.
LiveData è consapevole del ciclo di vita, cioè rispetta il ciclo
di vita di altri componenti dell'applicazione, come attività, frammenti o servizi.
Questa consapevolezza garantisce che LiveData aggiorni solo gli osservatori che si trovano in uno stato di ciclo di vita attivo.
In sintesi, LiveData of list of Node rappresenta un elenco osservabile di oggetti
nodo che possono essere osservati all'interno di un componente consapevole del ciclo di
vita, fornendo un approccio reattivo alla gestione dei dati nelle applicazioni Android.
In questo video abbiamo introdotto il Dao e abbiamo creato le due funzioni insert
e get all nodes, una di tipo insert e una di tipo query.