Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Utilizei o Providets durante o curso

Durante o curso eu fiz a utilização de providers, nesse caso eu fiz uma classe contatos e ela gerenciava a minha lista de contato, mas para fazer a bosta inicial do banco eu fiz diretamente no construtor do provider, chamando dessa forma Contatos() { _contatoDao.findAll().then((value) => _contatos = value); } fiquei em duvida se essa seria a melhor forma, no caso eu não utilizei o FutureBuilder

2 respostas
solução!

Oi Glaucio, também é uma abordagem funcional. Eu só te recomendaria em vez de utilizar o then partir para o async await. Além de melhorar a legibilidade do código, auxilia na manutenção caso algo precise ser revisado futuramente.

A ideia do FutureBuilder é avisar à árvore de widgets que elementos serão criados ali, mas, "não agora". Ou seja, quando o flutter começa o processo de renderizar os widgets ainda não teremos os dados que serão exibidos. É aí que nosso amigo FutureBuilder entra para avisar ao flutter que posteriormente mais coisas serão criadas. Da forma como você está fazendo, quando o flutter renderiza os widgetes ele já sabe tudo o que será exibido para criar a tela. O único "perigo" da sua abordagem é de o banco de dados demorar demais para responder. Pode acarretar tela branca ou travamento momentâneo do app. O FutureBuilder garante que o restante da tela que não depende necessáriamente da resposta do BD seja carregado enquanto ele trabalha para trazer os dados.

Um forte abraço e bom estudo! Espero ter conseguido sanar a sua dúvida! :)

Muito obrigado, sanou sim a minha duvida