2
respostas

Erro *urgente

Poderiam por favor me ajudar pois não sei mais o que fazer. Já conferi o código e não consigo encontrar o erro. Fiz o flutter clean, olhei todo o código, mas continua dando esse erro:

E/flutter (27875): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: type 'Null' is not a subtype of type 'int' E/flutter (27875): #0 findAll.. (package:bytebank1/database/app_database.dart:34:52) E/flutter (27875): #1 _rootRunUnary (dart:async/zone.dart:1436:47) E/flutter (27875): #2 _CustomZone.runUnary (dart:async/zone.dart:1335:19) E/flutter (27875): E/flutter (27875):

    Agtradeço desde já e espero que a resposta não demore muito.
2 respostas

Olá Laiz

Algum parâmetro está recebendo Null no lugar de Int. Poderia postar seu código?

Então, já modifiquei tanto o código que agora já não sei mais o que realmente está acontecendo. O erro parece que é um parâmentro nulo no databaseApp, eu tinha colocado nulo no ID, pois ele estava com erro se não colocasse o nulo. Mas depois eu comentei essa linha de código e continuou dando o mesmo erro. Vou colocar aqui, se conseguir descobrir o erro vai ser ótimo, mas vou fazer tudo de novo passo a passo. A única coisa que fico chateada é que muitos comandos já estão em desuso, ai fica complicado para quem está começando do zero, pois toda essa formação flutter já está desatualziada. Mas continuo na luta aqui. Segue o código:

import 'package:bytebank1/models/contact.dart'; import 'package:path/path.dart'; import 'package:sqflite/sqflite.dart';

Future createDatabase() { return getDatabasesPath().then((dbPath) { final String path = join(dbPath, 'bytebank.db'); return openDatabase(path, onCreate: (db, version) { db.execute('CREATE TABLE contacts (' 'id INTEGER PRIMARY KEY, ' 'name TEXT, ' 'account_number INTEGER)'); }, version: 1); }); }

Future save(Contact contact) { return createDatabase().then((db) { final Map<String, dynamic> contactMap = Map(); //contactMap['id'] = contact.id ?? 0; contactMap['name'] = contact.name; contactMap['account_number'] = contact.accountNumber; return db.insert('contacts', contactMap); }); }

Future<List> findAll() { return createDatabase().then((db) { return db.query('contacts').then((maps) { final List contacts = []; for (Map<String, dynamic> map in maps) { final Contact contact = Contact(map['id'], map['name'], map['account_Number'],); contacts.add(contact); } return contacts; }); }); }