Como armazenar e recuperar preferências em uma aplicação Android

O subsistema de Preferências do Android é um mecanismo leve para armazenar e recuperar pares de valores e chaves de tipos de dados primitivos. É tipicamente usado para armazenar preferências da aplicação, como uma saudação padrão ou uma fonte que deve ser carregada sempre que a aplicação é iniciada.

Chame Context.getSharedPreferences() para ler e escrever valores. Associe um nome para seu conjunto de preferências se quiser compartilhar elas com outros componentes da mesma aplicação, ou use Activity.getPrefences() sem nome nenhum para mantê-las privadas ao chamar a activity. Você não pode compartilhar as preferências entre aplicações (exceto pelo uso de um provedor de conteúdo).

O exemplo abaixo é um conjunto de configurações de usuário para o modo “silent keypress” de uma calculadora.

import android.app.Activity;
import android.content.SharedPreferences;

public class Calc extends Activity {
public static final String PREFS_NAME = "MyPrefsFile";
    . . .      

    @Override
    protected void onCreate(Bundle state){
       super.onCreate(state);

    . . .

       // Restore preferences
       SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
       boolean silent = settings.getBoolean("silentMode", false);
       setSilent(silent);
    }

    @Override
    protected void onStop(){
       super.onStop();

      // Save user preferences. We need an Editor object to
      // make changes. All objects are from android.context.Context
      SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
      SharedPreferences.Editor editor = settings.edit();
      editor.putBoolean("silentMode", mSilentMode);

      // Don't forget to commit your edits!!!
      editor.commit();
    }
}