PROGRAMAÇÃO PARA
DISPOSITIVOS MÓVEIS
Aula 6 – Shared Preferences
Objetivos da aula
 Shared Preferences
O que é SharedPreferences?
Uma das formas para armazenar
dados em uma aplicação Android.
Para que serve a SharedPreferences?
Salvar informações em sua
aplicação, similar a um HashTable
(chave/valor).
Ideal para salvar as preferências do
usuário.
Como implementar?
Implementando...
 Obtenha a referência:
SharedPreferences pref =
getSharedPreferences(“MinhaAplicacao”,
Context.MODE_PRIVATE);
Implementando...
 Obtenha a referência:
SharedPreferences pref =
getSharedPreferences(“MinhaAplicacao”,
Context.MODE_PRIVATE);
 Busque dados:
boolean on = pref.getBoolean(“on”, false);
String nome = pref.getString(“nome”, “Fulano”);
int idade = pref.getInt(“idade”, 18);
Implementando...
 Guarde dados:
Editor editor = pref.edit();
editor.putBoolean(“on”, true);
editor.commit();
Lembre-se
 getSharedPreferences(nome, modo);
 getPreferences(modo);
Lembre-se
 getSharedPreferences(nome, modo);
 Compartilhado entre Activities.
 getPreferences(modo);
Lembre-se
 getSharedPreferences(nome, modo);
 Compartilhado entre Activities.
 getPreferences(modo);
 Exclusivo da respectiva Activity.
Hora de praticar!
O Android pode te ajudar...
Podemos criar uma tela de configuração através de um
arquivo XML e deixar para o Android se encarregar de
persistir os dados automaticamente.
Via XML...
 Coloque no AndroidManifest:
<activity android:label=“Configurações"
android:name=".preferences.Preferences" />
Via XML...
 Coloque no AndroidManifest:
<activity android:label=“Configurações"
android:name=".preferences.Preferences" />
 A classe Preferences deve estender
PreferenceActivity;
Via XML...
 Coloque no AndroidManifest:
<activity android:label=“Configurações"
android:name=".preferences.Preferences" />
 A classe Preferences deve estender
PreferenceActivity;
 Crie o arquivo: res/xml/preferences.xml;
Via XML...
 Coloque no AndroidManifest:
<activity android:label=“Configurações"
android:name=".preferences.Preferences" />
 A classe Preferences deve estender
PreferenceActivity;
 Crie o arquivo: res/xml/preferences.xml;
 Adicione no onCreate() da classe Preferences:
addPreferencesFromResource(R.xml.preferences);
Via XML...
 No arquivo res/xml/preferences.xml, codifique:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory>
<EditTextPreference android:title="Salário bruto"
android:key="salarioBruto"
android:summary="Informe seu salário bruto" />
</PreferenceCategory>
</PreferenceScreen>
Via XML...
 Obtenha o valor:
Toast.makeText(this,
PreferenceManager.getDefaultSharedPreferences(this)
.getString(“salarioBruto”, “”),
...
Hora de praticar!
Até a próxima!

Aula 6 - 08/05 (SharedPreferences)