AndroidSharedPreferences


introduzione

SharedPreferences fornisce un modo per salvare i dati su disco sotto forma di coppie chiave-valore .

Sintassi

  • Metodo di contesto

    • public SharedPreferences getSharedPreferences (Nome stringa, modalità int)
  • Metodo di attività

    • public SharedPreferences getPreferences ()
  • Metodi SharedPreferences

    • public SharedPreferences.Editor edit ()
    • contiene booleano pubblico ()
    • Mappa pubblica <String,?> getAll ()
    • public boolean getBoolean (String key, boolean defValue)
    • public float getFloat (String key, float defValue)
    • public int getInt (String key, int defValue)
    • public long getLong (String key, long defValue)
    • public String getString (String key, String defValue)
    • public Set getStringSet (String key, Set defValues)
    • public void registerOnSharedPreferenceChangeListener (SharedPreferences.OnSharedPreferenceChangeListener listener)
    • public void unregisterOnSharedPreferenceChangeListener (SharedPreferences.OnSharedPreferenceChangeListener listener)
  • SharedPreferences.Editor Methods

    • public public apply ()
    • commit booleano pubblico ()
    • public SharedPreferences.Editor clear ()
    • public SharedPreferences.Editor putBoolean (Chiave stringa, valore booleano)
    • public SharedPreferences.Editor putFloat (Chiave stringa, valore float)
    • public SharedPreferences.Editor putInt (Chiave stringa, valore int)
    • public SharedPreferences.Editor putLong (Chiave stringa, valore lungo)
    • public SharedPreferences.Editor putString (Chiave stringa, Valore stringa)
    • public SharedPreferences.Editor putStringSet (Chiave stringa, Imposta valori)
    • public SharedPreferences.Editor remove (Chiave stringa)

Parametri

Parametro Dettagli
chiave String non nulla che identifica il parametro. Può contenere spazi bianchi o non stampabili. Questo è usato solo all'interno della tua app (e nel file XML), quindi non deve essere namespace, ma è una buona idea averlo come costante nel tuo codice sorgente. Non localizzarlo.
defValue Tutte le funzioni get assumono un valore predefinito, che viene restituito se la chiave specificata non è presente in SharedPreferences . Non viene restituito se la chiave è presente ma il valore ha il tipo sbagliato: in tal caso si ottiene un ClassCastException .

Osservazioni

  • SharedPreferences non deve essere utilizzato per l'archiviazione di grandi quantità di dati. Per tali scopi, è molto meglio usare SQLiteDatabase .

  • SharedPreferences sono solo processo singolo, a meno che non si usi la modalità deprecata MODE_MULTI_PROCESS . Pertanto, se la tua app ha più processi, non sarai in grado di leggere le SharedPreferences del processo principale in un altro processo. In questi casi, è necessario utilizzare un altro meccanismo per condividere i dati tra i processi, ma non utilizzare MODE_MULTI_PROCESS poiché non è affidabile e deprecato.

  • È preferibile utilizzare SharedPreferences istanza SharedPreferences nella classe Singleton per accedere a tutto il context dell'applicazione. Se vuoi usarlo solo per Attività particolari vai su getPreferences() .

  • Evita di memorizzare informazioni sensibili in testo in chiaro mentre usi SharedPreferences poiché può essere letto facilmente.

Documentazione ufficiale

https://developer.android.com/reference/android/content/SharedPreferences.html

SharedPreferences Esempi correlati