Como salvar e recuperar dados usando SharedPreferences? – Flutter

Tempo de leitura: 3 minutes

Se você estiver desenvolvendo um aplicativo móvel no Flutter, talvez queira armazenar alguns dados no dispositivo, como preferências do usuário ou configurações do aplicativo. As preferências compartilhadas são uma maneira popular de fazer isso no Flutter. Neste blog, exploraremos o que são Preferências Compartilhadas e como usá-las no Flutter.

O que são Shered Preferences?

Shared Preferences é um plug-in para Flutter que permite armazenar pares chave-valor no dispositivo. Os dados armazenados usando Preferências Compartilhadas persistem mesmo se o aplicativo for fechado e podem ser acessados em diferentes telas e sessões. As Preferências Compartilhadas usam o sistema de armazenamento nativo do dispositivo, o que significa que os dados são armazenados no dispositivo do usuário em um local inacessível para outros aplicativos.

Por que Shered Preferences?

Se você deseja salvar um pequeno valor ou um sinalizador, deseja obtê-lo posteriormente nas outras partes dos aplicativos ou quando os usuários iniciarem o aplicativo. Preferências Compartilhadas é a melhor escolha para executar.

Para armazenar valores pequenos, o SQLite não é a melhor opção, pois você precisa escrever códigos e classes longos.

Os Shered Preferences permitem que você leia e escreva facilmente com o par chave-valor em pares de linhas de código. Mas os Shered Preferences não são a melhor escolha para manter dados relacionais complexos.

Por exemplo, os Shered Preferences podem ser usadas para armazenar o status de login do usuário para que o usuário não precise fazer login ou logout repetidamente. Outro exemplo do Shered Preferences pode ser usado para armazenar o tema dos aplicativos, ou seja, Modo Escuro ou Modo Claro.

Como usar Shared Preferences no Flutter

Para usar Shared Preferences em seu aplicativo Flutter, você precisa seguir estas etapas:

Passo 1 Adicionando pacotes Shared Preference

Adicione o package ao arquivo pubsec.yaml

dependencies:
  shared_preferences: ^2.1.1

Etapa 2: importar o pacote Shared Preferences

Depois de adicionar a dependência Shared Preferences ao seu arquivo pubspec.yaml, você precisa importar o package em seu código Dart. Para fazer isso, adicione o seguinte código ao topo do seu arquivo:

import 'package:shared_preferences/shared_preferences.dart';

Etapa 3: armazenar dados usando Shared Preferences

Agora que você importou o pacote Shared Preferences, você pode usá-lo para armazenar dados em seu aplicativo. Para armazenar dados, primeiro você precisa criar uma instância de SharedPreferences. Você pode fazer isso usando o seguinte código:

SharedPreferences prefs = await SharedPreferences.getInstance();

Depois de ter uma instância de SharedPreferences, você pode usá-la para armazenar dados. Por exemplo, para armazenar um valor booleano, você pode usar o método setBool(). SharedPreferences pode armazenar quase todos os tipos de dados disponíveis.

Você pode armazenar o valor da seguinte maneira:

// Obtem shared preferences.
final prefs = await SharedPreferences.getInstance();

// Salve um valor inteiro na tecla 'num'.
await prefs.setInt('num', 10);

// Salve um valor booleano na chave 'flag'.
await prefs.setBool('flag', true);

// Salve um valor duplo na chave 'decnum'.
await prefs.setDouble('decnum', 1.5);

// Salve um valor String na chave 'name'.
await prefs.setString('name', 'Start');

// Salve uma lista de strings na chave 'items'.
await prefs.setStringList('items', <String>['Dom', 'Seg', 'Ter']);

Etapa 4: recuperar/ler dados usando Shared Preferences

Para recuperar dados que você armazenou usando Shared Preferences, você pode usar o método get(). Por exemplo, podemos usar o seguinte código:

// Obtem shared preferences.
final prefs = await SharedPreferences.getInstance();

// obter um valor inteiro da chave 'num'. 
await prefs.getInt('num');

// obtenha um valor booleano da chave 'flag'.
await prefs.getBool('flag');

// obtenha um valor duplo da chave 'decnum'.
await prefs.getDouble('decnum');

// obtenha um valor String da chave 'name'.
await prefs.getString('name');

// obtenha uma lista de strings da chave 'items'.
await prefs.getStringList('items');

Etapa 5: remover dados de Shared Preferences

Para remover dados que você armazenou usando Shared Preferences, você pode usar o método e a chave remove().

await prefs.remove('key');

Por exemplo, se você precisar remover o valor de chaves de itens

await prefs.remove('items');

 

Conclusão

Shared Preferences é uma maneira útil de armazenar dados no dispositivo em um aplicativo Flutter. É fácil de usar e permite manter os dados mesmo se o aplicativo estiver fechado. Seguindo as etapas descritas neste blog, você pode começar a usar Shared Preferences em seu aplicativo Flutter hoje mesmo.

Obrigado por ler este artigo