Package shared_preferences

Olá pessoal. Hoje vou comentar sobre um pacote que eu costumo utilizar bastante, que é o shared_preferences.
Várias vezes eu preciso gravar algumas informações nos meus aplicativos, e nem sempre eu vejo necessidade de criar um banco offline para isso. Muitas vezes são poucas informações… tais como se o usuário já configurou o aplicativo, escolheu alguma opção entre outras. Coisas simples mesmo. E nesse cenário que eu costumo usar o shared preferences, pois com ele eu posso gravar essas informações de forma simples e rápida, e na próxima vez que o usuário abrir o aplicativo, eu terei o retorno dessas informações… como eu disse, sem a necessidade de utilizar o sqflite.

Para utilizar esse pacote, primeiro temos que instalar ele no nosso pubspec.yaml adicionando dentro de dependencies

dependencies:
  shared_preferences: ^2.0.15

E depois executar o comando no terminal para realizar o download do pacote

flutter pub get

Executado o comando, podemos importar e começar a utilizar o pacote em nosso projeto.

import 'package:shared_preferences/shared_preferences.dart';

Precisamos agora, instanciar nosso pacote em um método assíncrona.

SharedPreferences _prefs = await SharedPreferences.getInstance();

Pronto, a partir de agora podemos começar gravar e ler nossas informações sem a necessidade de um banco de dados sqlite.
Para utilizar é muito simples. Temos o Set e o Get para cada tipo de informação.

_prefs.remove('key'); - Remove a chave
_prefs.setBool('key', true/false); - Grava um valor booleano na chave. Caso esse valor seja null equivale chamar um remove().
_prefs.getBool('keyBool'); - Lê um valor da chave booleano
_prefs.setDouble('keyDouble', 3.5); - Grava um valor double na chave.
_prefs.getDouble('keyDouble'); - Lê um valor da chave double.
_prefs.setInt('keyInt', 7); - Grava um valor int na chave.
_prefs.getInt('keyInt'); - Lê um valor da chave int.
_prefs.setString('keyString', 'Chrystoffer Kugler Horochovec'); - Grava um valor String na chave.
_prefs.getString('keyString'); - Lê um valor da chave String.
_prefs.setStringList('keyStringList', ['a', 'b', 'c', 'd']); - Grava um valor de lista de String na chave.
_prefs.getStringList('keyStringList'); - Lê um valor da chave de Lista de String.

Vale lembrar, que o pacote possui selo de Flutter Favorite!
Ficou curioso? Acesse o link do pacote direto em pub.dev/shared_preferences