terça-feira, 27 de setembro de 2011

Android: Preferences

Vamos falar de android.preference. É uma coleção de classes para lidar com o armazenamento de configurações e preferências do usuário, mas também podem servir para guardar a última posição em um jogo, tabela de highscores, e outros dados simples sem a complexidade de um banco de dados. Pensando neste uso é que escrevo este Post. Vamos pensar em um simples contador que pode marcar por exemplo quantas vezes a pessoa bebeu um copo de água ao longo de um dia. As preferências(dados) são armazenadas em um arquivo, e os valores recebem um nome através dos quais serão acessados. Por exemplo:



SharedPreferences mySharedPreferences = getSharedPreferences(COPOS, Activity.PRIVATE);
SharedPreferences.Editor editor;
/* COPOS é o nome do arquivo que guarda as preferências da aplicação
   Modo privado para abertura garante acesso exclusivo à aplicação
*/
mySharedPreferences = getSharedPreferences("COPOS", Activity.PRIVATE);
// buscando um valor de nome copos que é um inteiro
int n_copos = mySharedPreferences.getInt("copos",0);
n_copos++;
// iniciando o processo de atualização
editor = mySharedPreferences.edit();
// alterando o campo copos
editor.putInt("copos", n_copos);
// Salvando a alteração
editor.commit();

Este trecho de código poderia ser utilizado para incrementar um contador copos que ficaria armazenado no arquivo de preferências COPOS. Da mesma forma o valor poderia ser obtido e exibido na tela no final do dia.

Bom este é um exemplo muito simples mas que pode abrir um leque interessante de utilizações para esta classe.

Qualquer dúvidas consultem a documentação e me coloco a disposição.
Até o próximo POST.