Bentornati.
Dopo aver introdotto l'architettura MVVM e il database delle stanze, è il momento
di iniziare a costruire la nostra nota, che è un'applicazione per prendere appunti.
In questa applicazione, seguiremo l'architettura MVVM e otterremo i dati da un'origine
dati locale, non da un'origine dati online; nei prossimi video e
nelle prossime sezioni e nella prossima applicazione, utilizzeremo un'origine dati remota.
In questa applicazione, utilizzeremo l'origine dati locale, ovvero il database della stanza.
Abbiamo tre livelli: il modello, il modello della vista e la vista.
Come ho detto, l'architettura MVVM separa i codici.
Quindi il modello, che è un livello responsabile dell'astrazione delle fonti di dati, lavora
insieme al modello della vista per ottenere e salvare i dati e la vista.
Lo scopo di questo livello è informare il modello di vista sull'azione dell'utente.
Quindi se l'utente fa clic su un pulsante.
Pulsante di salvataggio.
Pulsante di cancellazione.
Pulsante di aggiornamento.
Questo livello osserva il ViewModel e non contiene alcun tipo di logica applicativa.
Il ViewModel.
Espone i flussi di dati rilevanti per la vista.
Inoltre, funge da collegamento tra il modello e la vista e all'interno del database della
stanza abbiamo le tre parti della classe entità, del Dao e del database stesso.
Inizieremo con questa parte e poi passeremo al repository.
Finiamo il modello.
Poi passeremo alla parte ViewModel e quindi alla vista.
Seguendo questa architettura, si costruisce un'applicazione con un'architettura professionale
pulita, utilizzata dagli sviluppatori professionisti di tutto il mondo.
Passiamo ad Android Studio e iniziamo a costruire la nostra applicazione per le note.
Aprite Android Studio e create un nuovo progetto di composizione ed eliminate le funzioni componibili.
Rimuovere questa impalcatura.
Ed eccoci qui.
Ora aggiungiamo la dipendenza del database.
Andate sul sito web di Android developer.android.com.
Slash jetpack slash Android X slash releases slash room o semplicemente cercare la dipendenza dal database delle stanze.
Ancora una volta, la libreria Room Persistence fornisce un livello di astrazione su SQLite per
consentire un accesso più robusto al database, sfruttando al contempo tutta la potenza di SQLite.
Per aggiungere la dipendenza da room, è necessario aggiungere il repository di Google Maven
al progetto, che è incluso in modo da poter selezionare Groovy o Kotlin.
Siamo interessati all'uso di Kotlin perché state usando Android Studio.
Copiare in questa riga la versione e l'implementazione.
Andare all'applicazione modulo script di Android Studio Gradle.
Scorrere verso il basso e aggiungere il database della stanza.
Questa è la versione della stanza e questa è l'implementazione.
Il secondo passo consiste nell'utilizzare un processore di annotazioni.
Ne abbiamo tre tipi.
Il processore di annotazioni, il processore di annotazioni Kapt e KSP sono
utilizzati per generare codice, convalidare le annotazioni e semplificare lo sviluppo.
Ne abbiamo tre tipi: il processore di annotazioni, il Kapt e i plugin KSP.
Il primo è il processore di annotazione, utilizzato
per generare file sorgente aggiuntivi o altre risorse.
Sulla base di queste annotazioni, il processore di annotazioni lavora all'interno
del compilatore Java Javac, analizzando il codice sorgente alla ricerca di
annotazioni specifiche e generando codici corrispondenti come factory, stub e altro.
Il plugin Kapt, utilizzato per lo strumento di elaborazione delle annotazioni di Kotlin,
consente a Kotlin di utilizzare i processori di annotazioni Java esistenti, permettendo alle
librerie scritte per l'elaborazione delle annotazioni Java di essere utilizzate nei progetti Kotlin.
L'elaborazione dei simboli KSP Kotlin.
KSP è stato progettato per fornire un modo più efficiente e idiomatico per l'elaborazione
delle annotazioni in Kotlin, offrendo prestazioni migliori e una sintassi più semplice rispetto a
quella di Cap specificamente adattato a Kotlin; elaborerà direttamente il codice sorgente Kotlin, eliminando
la necessità di stub Java intermedi, migliorando così la velocità e riducendo l'overhead.
Il modo migliore è usare KSP, ma KSP è ancora in fase di sviluppo.
Non lo useremo perché molte librerie non supportano KSP.
Utilizzeremo Kapt, che è uno strumento di elaborazione delle annotazioni di Kotlin.
Ed è meglio di un processore di notazione.
Quindi lo copierò e lo incollerò qui.
Abbiamo un errore perché non abbiamo il tappo.
E per integrare Cap nel nostro progetto è sufficiente utilizzare l'ID qui.
All'interno dei plugin utilizziamo il cappuccio di Kotlin e qui applichiamo
il vero incluso tra le doppie virgolette ora e qui andiamo.
Ora possiamo utilizzare Kotlin.
Un'ultima cosa da aggiungere è l'estensione per le coroutine.
Dobbiamo aggiungere le coroutine.
Quindi copiate questo.
Scorrete ora la sincronizzazione e usatela perché useremo le coroutine con la stanza.
Ecco quindi l'implementazione della stanza.
Qui abbiamo il processore di annotazioni, perché utilizzeremo il database della stanza.
Dipende dalle annotazioni e dalle coroutine per rendere le attività in background