import android.preference.PreferenceManager;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
// then you use
prefs.getBoolean("keystring", true);
Atualizar
De acordo com preferências compartilhadas | Tutorial do desenvolvedor do Android (parte 13) de Sai Geetha MN,
Muitos aplicativos podem fornecer uma maneira de capturar as preferências do usuário nas configurações de um aplicativo ou atividade específica. Para apoiar isso, o Android fornece um conjunto simples de APIs.
As preferências geralmente são pares de valores de nomes. Eles podem ser armazenados como "Preferências Compartilhadas" em várias atividades em um aplicativo (observe que atualmente não pode ser compartilhado entre processos). Ou pode ser algo que precisa ser armazenado específico para uma atividade.
Preferências compartilhadas: As preferências compartilhadas podem ser usadas por todos os componentes (atividades, serviços etc.) dos aplicativos.
Preferências de atividade manipulada: essas preferências podem ser usadas apenas dentro da atividade específica e não podem ser usadas por outros componentes do aplicativo.
Preferências Compartilhadas:
As preferências compartilhadas são gerenciadas com a ajuda do getSharedPreferences
método da Context
classe. As preferências são armazenadas em um arquivo padrão (1) ou você pode especificar um nome de arquivo (2) para ser usado para se referir às preferências.
(1) A maneira recomendada é usar o modo padrão, sem especificar o nome do arquivo
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
(2) Aqui está como você obtém a instância ao especificar o nome do arquivo
public static final String PREF_FILE_NAME = "PrefFile";
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
MODE_PRIVATE
é o modo operacional para as preferências. É o modo padrão e significa que o arquivo criado será acessado apenas pelo aplicativo de chamada. Outros dois modos suportados são MODE_WORLD_READABLE
e MODE_WORLD_WRITEABLE
. Em MODE_WORLD_READABLE
outro aplicativo, pode ler o arquivo criado, mas não pode modificá-lo. No caso de MODE_WORLD_WRITEABLE
outros aplicativos, também há permissões de gravação para o arquivo criado.
Por fim, depois de ter a instância de preferências, eis como você pode recuperar os valores armazenados das preferências:
int storedPreference = preferences.getInt("storedInt", 0);
Para armazenar valores no arquivo de preferência, o SharedPreference.Editor
objeto deve ser usado. Editor
é uma interface aninhada na SharedPreference
classe
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
O Editor também suporta métodos como remove()
e clear()
para excluir os valores de preferência do arquivo.
Preferências da atividade:
As preferências compartilhadas podem ser usadas por outros componentes do aplicativo. Mas se você não precisar compartilhar as preferências com outros componentes e desejar ter preferências particulares da atividade, poderá fazê-lo com a ajuda do getPreferences()
método da atividade. O getPreference
método usa o getSharedPreferences()
método com o nome da classe de atividade para o nome do arquivo de preferência.
A seguir está o código para obter preferências
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
int storedPreference = preferences.getInt("storedInt", 0);
O código para armazenar valores também é o mesmo que no caso de preferências compartilhadas.
SharedPreferences preferences = getPreference(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
Você também pode usar outros métodos, como armazenar o estado da atividade no banco de dados. Nota O Android também contém um pacote chamado android.preference
. O pacote define classes para implementar a interface do usuário de preferências do aplicativo.
Para ver mais alguns exemplos, verifique a publicação de armazenamento de dados do Android no site dos desenvolvedores.