Olá, estudante. Tudo bem?
Pelo que você descreveu, parece que pode haver algum problema na inicialização do banco de dados sqflite ou na função que adiciona novas tarefas.
Você pode estar verificando a inicialização do banco de dados. No arquivo database_helper.dart
, você deve ter um método que cria o banco de dados se ele ainda não existir. Ele deve ser algo parecido com isso:
initDb() async {
String path = join(await getDatabasesPath(), 'tarefas.db');
return await openDatabase(path, version: 1, onCreate: _onCreate);
}
Certifique-se de que esse método está sendo chamado corretamente quando o app é iniciado. Isso garantirá que o banco de dados seja criado na primeira vez que o app for aberto e que seja detectado nas vezes subsequentes.
Em seguida, vamos verificar a função que adiciona novas tarefas. No mesmo arquivo database_helper.dart
, você deve ter um método que insere uma nova tarefa no banco de dados. Ele deve ser algo assim:
Future<int> inserirTarefa(Tarefa tarefa) async {
Database db = await this.database;
var resultado = await db.insert('tarefas', tarefa.toMap());
return resultado;
}
Certifique-se de que esse método está sendo chamado corretamente quando você tenta adicionar uma nova tarefa. Além disso, verifique se a classe Tarefa
e o método toMap()
estão corretamente definidos.
Por fim, se ainda estiver com problemas, sugiro que você adicione alguns blocos try/catch
em seu código para capturar e lidar com possíveis erros. Isso pode ajudá-lo a identificar onde exatamente o problema está ocorrendo.
- Para que eu possa te ajudar melhor, compartilhe mais detalhes, por exemplo, qual curso você está fazendo e em que aula está. Lembrando que você pode abrir a dúvida no contexto da aula específica, clicando em fórum na coluna da aula
Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.