Shared Preferences no Flutter para armazenar dados

Particularmente tenho utilizado bastante a lib Hive para realizar a persistência de dados de forma local em minhas aplicações Flutter. Porém, nesse tutorial vou apresentar os passos necessários para salvar, recuperar e remover dados utilizando a lib shared_preferences, uma das bibliotecas mais populares para armazenamento persistente de dados no Flutter.

Armazenamento persistente de dados é uma parte essencial de muitos aplicativos, permitindo que os usuários salvem informações e configurações importantes. Uma das bibliotecas mais populares para armazenamento persistente de dados em aplicativos Flutter é o pacote shared_preferences. Este tutorial irá guiá-lo através dos passos necessários para adicionar o shared_preferences ao seu aplicativo e salvar, recuperar e remover dados persistentes.

Passo 1: Adicionar dependência

Antes de começar a utilizar o pacote shared_preferences, é necessário adicioná-lo como dependência ao seu projeto Flutter. Para isso, abra o arquivo pubspec.yaml do seu projeto e adicione o seguinte código no bloco de dependências:

dependencies:
  shared_preferences: ^2.0.8

O número da versão pode ser diferente da versão atual. Verifique a última versão disponível no repositório do pacote no Pub.

Em seguida, execute o comando flutter pub get no terminal para instalar a dependência.

Passo 2: Importar a biblioteca

Após adicionar a dependência, você precisará importar a biblioteca shared_preferences no seu arquivo .dart. Para fazer isso, adicione a seguinte linha no topo do seu arquivo:

import 'package:shared_preferences/shared_preferences.dart';

Passo 3: Salvar dados

O próximo passo é salvar dados persistentes utilizando o shared_preferences. Para fazer isso, é necessário obter uma instância de SharedPreferences e, em seguida, chamar o método setString() para salvar uma string. O código abaixo mostra como salvar um nome de usuário:

final prefs = await SharedPreferences.getInstance();
prefs.setString('username', 'John');

Observe que o método getInstance() é assíncrono, portanto, você precisa aguardar que ele retorne antes de prosseguir.

Passo 4: Recuperar dados

Para recuperar dados salvos, utilize o método getString(). Por exemplo, para recuperar o nome de usuário salvo anteriormente:

final prefs = await SharedPreferences.getInstance();
final username = prefs.getString('username') ?? '';
print('Username: $username');

Novamente, observe que o método getInstance() é assíncrono e que usamos ?? '' para definir um valor padrão caso nenhum nome de usuário tenha sido salvo anteriormente.

Passo 5: Remover dados

Se você precisar remover um item específico, utilize o método remove(). Por exemplo, para remover o nome de usuário salvo anteriormente:

final prefs = await SharedPreferences.getInstance();
prefs.remove('username');

Passo 6: Verificar se um valor existe

Se você precisar verificar se um valor existe, utilize o método containsKey(). Por exemplo, para verificar se o nome de usuário foi salvo anteriormente:

final prefs = await SharedPreferences.getInstance();
if (prefs.containsKey('username')) {
  print('O nome de usuário foi salvo anteriormente');
} else {
  print('O nome de usuário não foi salvo anteriormente');
}

Conclusão

O pacote shared_preferences é uma biblioteca essencial para armazenamento persistente de dados em aplicativos Flutter.

Este tutorial cobriu os passos básicos para utilizá-lo no seu aplicativo, desde a adição da dependência até a remoção de itens específicos. Com este tutorial, você tem tudo o que precisa para começar a usar o shared_preferences em seus aplicativos Flutter. Lembre-se de que o armazenamento persistente de dados é uma parte essencial de muitos aplicativos, e o pacote shared_preferences é uma das maneiras mais fáceis de implementá-lo.

Espero que este tutorial tenha sido útil e que você possa aplicar esses conceitos em seus próprios projetos de desenvolvimento de aplicativos.

Se você tiver mais alguma dúvida ou precisar de ajuda adicional, não hesite em consultar a documentação do pacote shared_preferences ou procurar ajuda em fóruns de desenvolvimento de Flutter.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *