import android.preference.PreferenceManager;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
// then you use
prefs.getBoolean("keystring", true);
Aggiornare
Secondo le preferenze condivise | Tutorial per sviluppatori Android (parte 13) di Sai Geetha MN,
Molte applicazioni possono fornire un modo per acquisire le preferenze dell'utente sulle impostazioni di un'applicazione specifica o di un'attività. A supporto di ciò, Android fornisce un semplice set di API.
Le preferenze sono in genere coppie valore-nome. Possono essere memorizzati come "Preferenze condivise" tra le varie attività in un'applicazione (notare che attualmente non può essere condiviso tra i processi). Oppure può essere qualcosa che deve essere memorizzato in modo specifico per un'attività.
Preferenze condivise: le preferenze condivise possono essere utilizzate da tutti i componenti (attività, servizi ecc.) Delle applicazioni.
Preferenze gestite dall'attività: queste preferenze possono essere utilizzate solo nell'ambito di un'attività specifica e non possono essere utilizzate da altri componenti dell'applicazione.
Preferenze condivise:
Le preferenze condivise sono gestite con l'aiuto del getSharedPreferencesmetodo della Contextclasse. Le preferenze sono memorizzate in un file predefinito (1) oppure è possibile specificare un nome file (2) da utilizzare per fare riferimento alle preferenze.
(1) Il modo consigliato è di utilizzare la modalità predefinita, senza specificare il nome del file
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
(2) Ecco come ottenere l'istanza quando si specifica il nome del file
public static final String PREF_FILE_NAME = "PrefFile";
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
MODE_PRIVATEè la modalità operativa per le preferenze. È la modalità predefinita e significa che il file creato sarà accessibile solo dall'applicazione chiamante. Altre due modalità supportate sono MODE_WORLD_READABLEe MODE_WORLD_WRITEABLE. In MODE_WORLD_READABLEaltre applicazioni è possibile leggere il file creato ma non è possibile modificarlo. In caso diMODE_WORLD_WRITEABLE altre applicazioni hanno anche le autorizzazioni di scrittura per il file creato.
Infine, una volta che hai l'istanza delle preferenze, ecco come puoi recuperare i valori memorizzati dalle preferenze:
int storedPreference = preferences.getInt("storedInt", 0);
Per memorizzare i valoriSharedPreference.Editor nell'oggetto file delle preferenze deve essere utilizzato. Editorè un'interfaccia nidificata nella SharedPreferenceclasse.
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
Editor supporta anche metodi come remove()e clear()per eliminare i valori delle preferenze dal file.
Preferenze attività:
Le preferenze condivise possono essere utilizzate da altri componenti dell'applicazione. Ma se non è necessario condividere le preferenze con altri componenti e si desidera avere preferenze private di attività, è possibile farlo con l'aiuto del getPreferences()metodo dell'attività. Il getPreferencemetodo utilizza il getSharedPreferences()metodo con il nome della classe di attività per il nome del file delle preferenze.
Di seguito è riportato il codice per ottenere le preferenze
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
int storedPreference = preferences.getInt("storedInt", 0);
Anche il codice per memorizzare i valori è lo stesso del caso delle preferenze condivise.
SharedPreferences preferences = getPreference(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
È inoltre possibile utilizzare altri metodi come la memorizzazione dello stato delle attività nel database. Nota Android contiene anche un pacchetto chiamatoandroid.preference . Il pacchetto definisce le classi per implementare l'interfaccia utente delle preferenze dell'applicazione.
Per vedere altri esempi, controlla il post di archiviazione dei dati di Android sul sito degli sviluppatori.