Armazenamento local
Manter os dados depois que o aplicativo é fechado
Banco de dados local
Tudo o que construímos até aqui desaparece quando o aplicativo é fechado. O carrinho da lição 7 vive em um ChangeNotifier, ou seja, na memória RAM: o sistema operacional recupera essa memória assim que precisa dela, e o usuário encontra um carrinho vazio sem entender por quê. No mobile, isso não é uma hipótese: Android e iOS encerram aplicativos em segundo plano o tempo todo.
Persistir dados localmente atende a duas necessidades que é preciso distinguir, pois elas não pedem as mesmas ferramentas. A primeira é a preferência: um booleano para o modo escuro, um idioma, um token de sessão. Algumas dezenas de valores isolados, lidos na inicialização e raramente gravados. A segunda é o dado de negócio: centenas de linhas que queremos filtrar, ordenar, relacionar, contar. Guardar preferências em um banco SQL é uma complicação desnecessária; guardar um catálogo de mil itens em um arquivo de preferências é um erro que se paga em lentidão na inicialização.
Esta lição trata as duas ferramentas de referência — shared_preferences e sqflite — com um critério de escolha explícito, e depois as duas dificuldades reais do SQLite no mobile: a migração de schema quando o aplicativo já está instalado e as transações.
Comentários
Os comentários são alimentados pelo GitHub Discussions
Conecte-se com o GitHub para participar da discussão