3
respostas

[Bug] Meu aplicativo não funciona.

Este é o meu Initial_Screen, não está adicional nenhuma tarefa ao meu aplicativo, sempre aparece a frase na tela inicial de "Erro ao carregar tarefa" alguém sabe me dizer o meu erro, por favor. Este erro que aparece eu coloquei para retornar na linha 142.

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

Olá, André! Como você está?

Embora você tenha postado na atividade de exclusão de tarefas, o problema que está enfrentando pode estar relacionado à função de carregamento das tarefas. Uma possível causa é que o erro ocorra quando tentamos recuperar tarefas da persistência, especialmente aquelas que foram previamente excluídas. Portanto, gostaria de pedir que você analise minuciosamente a função de carregamento das tarefas, assegurando que ela esteja tratando de forma apropriada as tarefas deletadas, a fim de evitar erros que possam impactar o funcionamento do aplicativo.

Além disso, é fundamental verificar se a função de exclusão de tarefas está removendo-as corretamente da persistência, pois problemas nessa área também podem resultar em erros ao tentar carregar tarefas posteriormente.

No entanto, caso tenha feito a análise e ainda assim o problema persistir, você pode enviar mais detalhes do seu projeto. Você poderá hospedar o código no github e compartilhar o link, assim poderei identificar melhor qual o erro está gerando esse comportamento.

Espero ter ajudado e fico à disposição.

Abraços e até mais!

Continuo com o mesmo erro, mesmo usando o arquivo do professor aconteceu a mesma coisa. Se puder me ajudar segue o link do repositorio abaixo: https://github.com/andre09moraes/Flutter

Olá, André, tudo bem?

Desde já peço desculpas pela demora em obter um retorno.

Obrigada por enviar o código, foi bastante importante para notarmos o problemas que estava acontecendo. Em alguns casos, a chamada de reconstrução da tela inicial (InitialScreen) estava acontecendo antes da Task ser gravada.

Toda operação com banco de dados é assíncrona, pois leva algum tempo para ser feita, então, a depender do seu dispositivo (ou emulador) ela pode acabar demorando mais e não “dando tempo” da tela inicial estar pronta para mostrar.

No meu caso acontecia apenas na primeira vez que eu rodava a aplicação, como no GIF abaixo:

Gif demonstrando a aplicação rodando

Para solucionar esse problema, podemos fazer pequenas alterações em alguns arquivos:

  • Primeiro no arquivo task_dao.dart
    • Altere o retorno do método save para um Future<dynamic>, assim conseguiremos capturar um Future quando chamarmos esse método;
  • Depois, no arquivo form_screen.dart faça com que a tela só seja fechada quando o processo de salvar tenha sido concluído. Para isso:
    • Adicione um .then((){}) no final da chamada da função save (aqui no meu código está na linha 153);
    • Recorte o Navigator.pop() logo abaixo e cole dentro da função do then;

Gif demonstrando o aplicativo rodando sem bugs

Espero ter ajudado.

Caso surja alguma dúvida, não hesite em compartilhar no fórum.

Abraços e até mais!