In Android, la gestione delle sessioni viene eseguita utilizzando alcune tecniche di archiviazione dei dati. Questi dati possono essere memorizzati in alcune variabili globali, database o preferenze dell'applicazione.
Ma c'è un problema con le variabili globali. Le variabili globali possono conservare solo i dati fino all'apertura dell'applicazione. Una volta che l'applicazione viene chiusa, le variabili globali vengono distrutte e i loro valori vengono persi.
I dati memorizzati nel database e le preferenze dell'applicazione non si perdono quando l'applicazione viene chiusa.
Quindi, questi sono usati per la gestione delle sessioni. Ma l'archiviazione e l'accesso ai dati nel database sono più lenti rispetto alle preferenze.
Per questo motivo, le preferenze vengono utilizzate per la gestione delle sessioni.
Nel contesto Android, queste preferenze sono note come SharedPreferences. Questi consentono una più rapida archiviazione dei dati, accesso e aggiornamento.
SharedPreferences vengono normalmente utilizzate per memorizzare le impostazioni dell'applicazione.
Trova i passaggi seguenti per utilizzare le SharedPreferences nell'app per archiviare e accedere ai dati per il mantenimento della sessione.
1. Inizializza l'Editor di SharedPreferences per archiviare i dati nelle SharedPreferences dell'applicazione.
SharedPreferences prefs = getApplicationContext (). GetSharedPreferences ("preferences-key-name", MODE_PRIVATE); SharedPreferences.Editor editor = prefs.edit ();
2. Inserire il valore nell'oggetto editor da salvare in SharedPreferences. Questi valori possono essere di tipo String, boolean, int, float, ecc. Dopo aver aggiunto i valori, eseguire il metodo commit () dell'Editor per salvare i valori.
editor.putString ("key-username", "John Doe"); editor.commit ();
3. Per recuperare i dati da SharedPreferences, non è necessario per l'oggetto Editor. Ottieni semplicemente la stringa richiesta o qualsiasi altro valore usando il metodo corrispondente.
SharedPreferences prefs = getApplicationContext (). GetSharedPreferences ("preferences-key-name", MODE_PRIVATE); String username = prefs.getString ("key-username", "default-value");
Il secondo parametro del metodo getString () è il valore predefinito che viene restituito, nel caso in cui non vi sia alcun valore salvato nelle preferenze corrispondenti a quella chiave.
4. Per cancellare una particolare chiave SharedPreference, utilizzare il metodo remove ().
SharedPreferences prefs = getApplicationContext (). GetSharedPreferences ("preferences-key-name", MODE_PRIVATE); SharedPreferences.Editor editor = prefs.edit (); editor.remove ( "key-username"); editor.commit ();
5. Per cancellare tutte le SharedPreferences salvate, utilizzare il metodo clear ().
SharedPreferences prefs = getApplicationContext (). GetSharedPreferences ("preferences-key-name", MODE_PRIVATE); SharedPreferences.Editor editor = prefs.edit (); editor.clear (); editor.commit ();
Trova sotto l'esempio di utilizzo di questo SharedPreferences per la gestione delle sessioni: –
Quando un utente accede all'applicazione, salva il nome utente o qualsiasi altro valore corrispondente dell'utente in SharedPreferences. Utilizzare questo valore salvato per accedere nuovamente all'utente quando viene riaperta l'applicazione o è possibile accedere a questo valore in qualsiasi attività dell'applicazione per ottenere il nome utente. Quando l'utente fa clic su Esci, cancella i campi relativi all'utente per disconnettersi.