Explorando o EventChannel no Flutter

Edson Melo Souza
Flutter Brasil
Published in
2 min readMar 31, 2024

No último artigo, discutimos sobre o MethodChannel, que permite que o aplicativo Flutter chame código nativo e aguarde uma resposta. Por outro lado, o EventChannel, como o próprio nome sugere, é utilizado para enviar eventos do código nativo para o código Dart através de uma stream, permitindo que o aplicativo escute esses eventos.

Event Channel Exemplo

Aqui está um pequeno exemplo de como usar o EventChannel. O valor deste CircularProgress é obtido do código nativo Kotlin, que me notifica a cada segundo com o valor atualizado.

Para configurar o Event Channel, precisamos criar o nosso event channel utilizando a classe EventChannel, passando flutterEngine.dartExecutor.binaryMessenger e o name, que é o nome de referência utilizado para estabelecer a conexão entre o código nativo e o Flutter. Após criar o objeto EventChannel, chamamos o método setStreamHandler, passando como argumento o objeto do tipo StreamHandler. Logo abaixo, temos a classe CounterPercent, que a implementa, sendo necessário subscrever os dois métodos.

  • onListen
  • onCancel

O método onListen é onde enviamos os eventos para o outro lado, que neste caso é o nosso aplicativo Flutter.

O método onCancel é utilizado quando a stream é cancelada pelo cliente.

Segue abaixo um exemplo do código do lado do Flutter:

Plaform Channel Exemplo no lado do Flutter

Espero que tenha gostado do artigo! Nos vemos no próximo!

Github: https://github.com/EdsonMello-code

Linkedin: https://www.linkedin.com/in/edson-souza-flutter/

--

--

Edson Melo Souza
Flutter Brasil

Programador Mobile flutter, react native, kotlin para android e typescript. Apaixonado pelas melhores tecnologias do mercado.