Usare le SharedPreferences in Android
Tra le opzioni di storage in Android abbiamo le SharedPreferences.
Queste ci permetto di salvare dei dati in formato chiave:valore in maniera molto semplice e intuitiva.
Ho visto in giro addirittura esempi di salvataggio di dati presi da JSON tramite la rete; ecco, forse non è proprio questo lo scopo, ma di sicuro è prefetto per pochi dati da condividere in tutta la app.
Infatti viene usato soprattutto per il salvataggio delle impostazioni / preferenze dell'utente.
Vi posto qua sotto una semplice classe che prevede la creazione, lettura ed eliminazione dei valori:
public class Preferences {
private SharedPreferences prefs;
public Preferences(Context ctx) {
prefs = ctx
.getSharedPreferences("MY_APP", Context.MODE_PRIVATE);
}
public void setPrefs(String key, String value) {
SharedPreferences.Editor prefsEditor = prefs.edit();
prefsEditor.putString(key, value);
prefsEditor.commit();
}
public String getPrefs(String key, String value) {
return prefs.getString(key, value);
}
public void removePrefs(String key) {
SharedPreferences.Editor prefsEditor = prefs.edit();
prefsEditor.remove(key);
prefsEditor.commit();
}
}
Al costruttore dobbiamo passare solo un oggetto Context.
Al metodo getSharedPreferences dobbiamo passare due parametri: il nome, che in pratica indica la app nella quale viene usata, e la modalità di condivisione, in questo privata e quindi usabile solo dalla app che lo richiama.
Sotto abbiamo tre metodi abbastanza esplicativi.
Il primo serve per settare un valore, che ricordo è in formato chiave:valore.
Il secondo serve per prendere un dato valore.
Il terzo per rimuoverlo.
A questo punto nella nostra Activity abbiamo una cosa del genere:
Preferences prefs prefs = new Preferences(getApplicationContext());
System.out.println(prefs.getPrefs("USER", "matteo"));
Il metodo getPrefs prende il valore della chiave data; se non c'è valore ne imposta uno di default.
Molto easy!
java android sharedpreferences getstring getsharedpreferences context activity
Commentami!