[Flutter] EventChannel trong Flutter

[Flutter] EventChannel trong Flutter

Trong bài viết trước, chúng ta đã cùng tìm hiểu về MethodChannel như đã hứa trong bài viết này chúng ta sẽ tìm hiểu về EventChannel trong Flutter.

Khác với MethodChannel, EventChannel cho phép chúng ta truyền dữ liệu một cách liên tục sang Flutter.

Trong bài viết này, mình sẽ demo về cách triển khai EventChannel.

Đầu tiên, chúng ta cần tạo tên cho EventChannel trong MainActivity.kt

Tiếp tục trong file main.dart , ta cũng khai báo EventChannel với tên của EventChannel đã khai báo trong MainActivity.kt

Sau khi đã khai báo tên cho EventChannel, chúng ta tiếp tục tạo Handler để gọi hàm liên tục. Ở đây sẽ dùng EventChannel.StreamHandler, chúng ta có hai phương thức onListen(arg: Any?, sink: EventChannel.EventSink) trong đó tham số đầu tiên là đối số và sau đó là eventsink mà chúng tôi sẽ truyền dữ liệu từ nguồn gốc (Android / IOS ) và onCancel(arg: Any?). Chúng ta sẽ triển khai như sau:

Sau khi đã tạo xong Handler, ta sẽ khai báo EventChannel trong MainActivity.kt

Tiếp tục khai báo trong file main.dart

Chạy chương trình và xem kết quả:

0:00
/

Tổng kết:

Qua bài viết, mình đã giới thiệu về EventChannel và cách triển khai nó trong Flutter. Tùy theo trường hợp mà chúng ta có thể dùng MethodChannel hoặc EventChannel. Hẹn mọi người ở những bài viết thú vị khác.
Link tham khảo: https://medium.com/@atifqamar29/event-channels-in-flutter-827ef357c2d1