Livro 2 - Projeto da Mini-Calculadora
8. Persistência de Dados
No desenvolvimento de aplicativos Android, é essencial lidar com a persistência de dados, ou seja, garantir que as informações geradas ou usadas pelo app sejam armazenadas e possam ser acessadas posteriormente, mesmo após o fechamento do aplicativo. O Android oferece diferentes formas de armazenamento para atender a diferentes necessidades:
- Armazenamento específico do app (Internal Storage): Utilizado para armazenar dados que pertencem exclusivamente ao aplicativo e que não precisam ser acessados por outros apps. Esses dados são removidos quando o aplicativo é desinstalado.
- Armazenamento compartilhado (External Storage): Permite o armazenamento de arquivos em uma área acessível por outros aplicativos e pelo próprio usuário, como músicas, fotos ou documentos.
- Preferências (SharedPreferences): Ideal para armazenar dados simples e em pequena quantidade, como configurações ou preferências do usuário.
- Bancos de dados (SQLite ou Room): Utilizado quando há necessidade de gerenciar dados estruturados de forma mais complexa, permitindo o armazenamento, consulta e manipulação de grandes volumes de informações.
Cada um desses métodos de persistência tem suas características e cenários de uso apropriados. A seguir, vamos explorar em mais detalhes o uso das SharedPreferences.
O que são SharedPreferences?
O SharedPreferences no Android é uma ferramenta para armazenar dados simples e em pequena escala, como configurações, preferências do usuário ou estados simples de atividades. Esse armazenamento é ideal para dados que não precisam de estrutura complexa, como texto simples, números ou valores booleanos.
Como Funciona
SharedPreferences armazena dados em um formato chave-valor. Isso significa que você define uma chave para cada valor armazenado, o que facilita a recuperação dos dados posteriormente. Os dados armazenados via SharedPreferences são persistidos até que o aplicativo seja desinstalado ou os valores sejam explicitamente removidos.
Principais Usos
- Configurações do aplicativo: Armazenar preferências de temas, idiomas, notificações, etc.
- Dados de login: Guardar informações sobre se o usuário já está logado ou precisa se autenticar novamente.
- Estados simples: Armazenar o progresso em um tutorial ou a última aba visualizada.