Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Kripton Persistence Library

Analizziamo il funzionamento della Kripton Persistence Library, una libreria per la risoluzione dei problemi di persistenza dei dati.
Analizziamo il funzionamento della Kripton Persistence Library, una libreria per la risoluzione dei problemi di persistenza dei dati.
Link copiato negli appunti

Persistenza su Android

Su Android esistono diversi modi per rendere persistenti i dati dell'applicazione. Essi possono essere
suddivisi nelle seguenti categorie:

Categoria Descrizione
Persistenza su file system Rientrano in questa categoria tutte le soluzioni che salvano il modello dati dell'applicazione su file system
in qualche
formato, come per esempio XML o JSON.
Database Android include SQLite nel suo SDK. Senza ulteriori librerie è quindi possibile
salvare i dati
dell'applicazione su questo database relazionale. Nel corso degli ultimi anni sono state sviluppate
diverse
librerie basate sia su SQLite che su database NoSQL.
Shared Preferences Questo tipo di soluzione consiste nell'utilizzare un file XML in grado di
essere
utilizzato da alcuni widget presenti nell'Android SDK. Questo tipo di persistenza viene normalmente utilizzata
per
le preferenze di un'applicazione.

Molte applicazioni hanno inoltre l'esigenza di recuperare informazioni da sistemi remoti mediante servizi REST,
quindi pur non rientrando direttamente
nella tematica della persistenza, la necessità di utilizzare servizi REST è un tema in qualche modo collegato.

Esistono sistemi che consentono di salvare i dati anche on Cloud. In questa categoria troviamo soluzioni come
firebase che è una soluzione in grado di
salvare i dati sia in locale che on Cloud sui server di Google.

In questa guida non ci occuperemo delle soluzioni on
Cloud ma
affronteremo la tematica della persistenza on device, nella quale l'informazione viene memorizzata sul
dispositivo.

Kripton Persistence
Library
è un libreria scritta in java che sfrutta un processore di annotazione per generare il codice
necessario a rendere persistente gli oggetti Java nelle diverse modalità di persistenza
elencate in
precedenza.

Le annotazioni contenute in Kripton consentono di "pilotare" la persistenza degli oggetti Java. In
questa sezione della guida vedremo i vari tipi di
persistenza e come Kripton ci consente di gestirli agevolmente.

Per essere trasparenti, l'autore di questa guida è anche l'autore di Kripton Persistence Library. Il motivo per cui si è realizzato questa libreria è presto detto: esistono
diverse
librerie per la persistenza su file system. Esistono diverse librerie che
si occupano della persistenza su SQLite. Esistono alcune librerie che si occupano della persistenza mediante Shared Preference. Non esisteva però alcuna libreria che
affrontasse tutte e tre le tipologie
di persistenza assieme, in modo uniforme e coerente, e che puntasse alle performance grazie all'uso dei processori di annotazione.

L'idea alla base del funzionamento di Kripton è semplice: si decorano oggetti di tipo Plain Old Java Object (POJO) e i loro attributi con delle annotazioni. In base alle annotazioni usate verrà
generato il codice necessario a supportare la persistenza della classe su file-system, su SQLite o mediante Shared-Preference.

Esiste anche una libreria che consente di utilizzare Kripton con Retrofit, una libreria open source che si occupa di generare client REST e che vedremo in un una
sezione successiva. Il suo nome è kripton-retrofit-converter.

Kripton: setup

Per poter utilizzare Kripton in un progetto di Android Studio è sufficiente includere nelle dipendenze del
progetto i relativi artifact.

annotationProcessor "com.abubusoft:kripton-processor:3.1.0"
implementation "com.abubusoft:kripton-android-library:3.1.0"
// da includere per l'integrazione con Retrofit
implementation "com.abubusoft:kripton-retrofit-converter:3.1.0"

Ti consigliamo anche