O que é "preferências compartilhadas" no Android e quando ele é usado?
Android permite o armazenamento de dados em vários formatos. Mas, nós fazemos o gerenciamento da sessão do usuário androide usando Preferências Compartilhadas, só porque as preferências compartilhadas funcionam na base do Key-Pair e respondem rapidamente.
A sessão é útil quando você quer armazenar dados do usuário globalmente em toda a aplicação. Isto pode ser feito de duas maneiras. Uma é armazená-los em variáveis globais e a segunda é armazenar os dados em preferências compartilhadas.
O problema com o armazenamento de dados na variável global é que os dados serão perdidos quando o usuário fechar a aplicação. Mas o armazenamento dos dados em preferências compartilhadas será persistente mesmo que o usuário feche a aplicação.
Android Shared Preferences Overview
Android armazena as configurações Shared Preferences como um arquivo XML na pasta shared_prefs. SharedPreferences é específico da aplicação. Ou seja, os dados são perdidos ao executar uma das seguintes opções:
<- on desinstalando a aplicação
- on limpando os dados da aplicação (através de Settings>>>Apps)
Na sintaxe acima, o primeiro parâmetro é a chave e o segundo é o MODE. Além do modo privado, há outros modos disponíveis que estão listados abaixo:
- MODE_PRIVATE: o modo padrão, onde o arquivo criado só pode ser acessado pela aplicação de chamada.
- MODE_WORLD_READABLE: Este modo permite que outras aplicações leiam as preferências.
- MODE_WORLD_WRITEABLE: Criar arquivos graváveis no mundo é muito perigoso, e provavelmente causará falhas de segurança nas aplicações.
- MODE_MULTI_PROCESS: Este método irá verificar a modificação das preferências mesmo que a instância de preferências compartilhada já tenha sido carregada.
- MODE_APPEND: Isto irá anexar as novas preferências com as preferências já existentes.
- MODE_ENABLE_WRITE_AHEAD_LOGGGING: Bandeira de abertura da base de dados. Quando estiver definido, ele habilitará o registro write-ahead por padrão.
Initialization
- SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0);
- Editor editor = pref.edit();
Storing Data
All the primitive data types like booleans, floats, ints, longs, and strings are supported. Call editor.commit() in order to save changes to shared preferences…
- editor.putBoolean("key_name", true); // Storing boolean - true/false
- editor.putString("key_name", "string value"); // Storing string
- editor.putInt("key_name", "int value"); // Storing integer
- editor.putFloat("key_name", "float value"); // Storing float
- editor.putLong("key_name", "long value"); // Storing long
- editor.apply(); // commit changes
Clearing or Deleting Data
If you want to delete from shared preferences you can call remove(“key_name”) to delete that particular value. If you want to delete all the data, call clear()...(more)
Artigos semelhantes
- Quais são algumas boas aplicações móveis para listas de compras de mercearia compartilhadas?
- Como os turistas estrangeiros podem usar bicicletas compartilhadas em Pequim, China?
- O que significa quando as pessoas colocam "ela, ela, dela" ou "ele, ele, ele, dele" na sua biografia do Twitter?
- Ele faz tudo por mim, ele me aceita pelo que sou e me ama, mas não quer nenhum compromisso e não pode se casar comigo. É porque ele é muçulmano?