Memorizzare informazioni con SharedPreferences

9 luglio 2014

L’utilizzo dei file come collocazione di dati persistenti è molto duttile. La possibilità di salvare dati grezzi mediante Stream apre la strada a moltissime possibilità. Si possono salvare file binari, con codifiche proprie, serializzare strutture dati Java o ricorrere a formati “a caratteri” come CSV o altro ancora.

A volte però, si ha solo bisogno di salvare dati in locale, magari di tipo primitivo, come password, indirizzi IP, numeri o altre informazioni di configurazione piuttosto elementari. In questi casi più che confrontarsi con la varietà offerta dai file farebbe comodo una specie di mappa in cui salvare coppie chiave/valore con la possibilità di renderla persistente su disco.

Tutto ciò è disponibile e prende il nome di SharedPreferences.

I dati collocati nelle SharedPreferences vengono salvati in un file XML contenuto nello storage interno, precisamente nella cartella shared_prefs. Il file in cui sono contenute può avere un nome di default o assegnato dal programmatore pertanto di potrà accedere alle Preferences in due modi:

  • nella modalità di default con il metodo getPreferences(). Questo metodo è concepito per salvare dati privati dell’Activity. Il nome di default prodotto per il file richiamerà infatti il nome dell’Activity;
  • specificando un nome di file con getSharedPreferences(String filename, int mode) dove il primo parametro indica il nome che si vuole dare al file di preferenze mentre il secondo sono i priviligi da concedere al file.

Entrambi i metodi restituiranno un oggetto SharedPreferences sul quale si potrà agire come su di una mappa.

Si noterà subito che un oggetto SharedPreferences contiene tipici metodi di lettura come:

  • contains(String key) che verifica se una proprietà con una certa etichetta è già stata salvata;
  • una serie di metodi getter come getInt, getString, getFloat e via dicendo con i quali si potrà recuperare i dati salvati per una certa chiave.

Tra gli altri, si vedrà anche un metodo edit() che restituisce un oggetto di tipo Editor. Questa classe è il meccanismo di modifica delle SharedPreferences.

Dall’Editor si avrà accesso a molti metodi put che permettono di modificare le proprietà. Al termine delle modifiche è molto importante che si richieda il salvataggio delle stesse invocando il metodo apply(), anch’esso dell’oggetto Editor.

Semplicità delle mappe, utilità della persistenza, se vi si aggiunge la frequenza in cui si necessita di salvare dati così semplici si comprende perchè le SharedPreferences siano considerate uno strumento importantissimo per il programmatore.

Tutte le lezioni

1 ... 28 29 30 ... 84

Se vuoi aggiornamenti su Memorizzare informazioni con SharedPreferences inserisci la tua e-mail nel box qui sotto:
Tags:
 
X
Se vuoi aggiornamenti su Memorizzare informazioni con SharedPreferences

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy