0
respostas

09 Faça como eu fiz: isolando em um serviço - Parte 1

1.Crie um diretório services em lib e adicione um arquivo account_service.dart:

class AccountServices {
final  StreamController<String> _streamController = StreamController<String>();
Stream<String> get streamInfos => _streamController.stream;

2.Crie o arquivo account_service.dart na pasta services;

Future<List<Account>> getAll() async {
  Response response = await get(Uri.parse(url));
 _streamController.add("${DateTime.now()} | Requisicão de leitura.");

3. No arquivo account_service.dart, crie a classe AccountService;

List<Account> listAccounts = [];

for (dynamic dyn in listDynamic){
  Map<String, dynamic> mapAccount = dyn as Map<String, dynamic>;
  Account account = Account.fromMap(mapAccount);
  listAccounts.add(account);
  }
   return listAccounts;
}

4.Mova as funções correspondentes a getAll e addAccount para dentro do serviço;

Future<void> addAccount(Account account) async {
    List<Account> listAccounts = await getAll();
    listAccounts.add(account);

    List<Map<String, dynamic>> listContent = [];
  for (Account account in listAccounts){
    listContent.add(account.toMap());
  }

  String content = json.encode(listContent);

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR