Generalidades

Introducción a Flutter y la comunicación nativa | Autor: Dave Zhao | Junio ​​de 2021

Flutter llama nativo

1*rfvppGewMcPUIDl3VcvhYw

Primero, las siguientes funciones se implementan en flutter:

  • Cree un MethodChannel y registre el nombre del canal, generalmente utilizado «Nombre / identidad del paquete» Como nombre del canal.
  • Se pasó una llamada asincrónica Método de llamada.

A continuación, se implementan las siguientes funciones en nativo (android):

  • Cree un MethodChannel con la misma cadena de registro que flutter.
  • Implementación y configuración Establezca el controlador de llamadas al método.
  • Devuelve el resultado para golpear el resultado.

Fluctuación de llamadas nativas

La implementación de código de Android llamando a flutter es similar a la implementación de código de Flutter llamando a Native (Android), a través de Método de llamada.

Flutter se da cuenta principalmente del registro Controlador de llamadas de método:

Se utiliza para enviar eventos de notificación de nativo a flutter. A diferencia de MethodChannel, EventChannel es una llamada unidireccional de nativo a flutter. La llamada es multidifusión (uno a varios).

Parte de aleteo

  • Cree EventChannel, utilizando «nombre / identificador del paquete» como cadena de registro.
  • Al registrar al oyente Suscripción de transmisión escuchar,entre ellos Cancelar error El parámetro indica si finalizar automáticamente la supervisión cuando se encuentra un error.

Parte nativa

  • Se aprobó el registro del controlador EventChannel.setStreamHandler.
  • Receptor de eventos Envía notificaciones de eventos.
  • llamada EventSink.endOfStream Al final del aviso, en este momento cancelar Sera llamado.
  • Si es necesario, puede enviar notificaciones de error de las siguientes formas EvnetSink.errorY aleteo StreamSubscription.onError Será notificado.

Soy yosegundo Usado para enviar un mensaje entre flutter y nativo, una parte envía un mensaje a la otra parte y responde después de recibir el mensaje.

Flutter envía mensajes al nativo

Primero, las siguientes funciones se implementan en flutter:

  • Cree BasicMessageChannel y utilice «nombre / identificador del paquete» como cadena de registro.
  • Enviando un mensaje BasicMessageChannel.send

Además del nombre del canal, también se debe especificar la creación de MessageChannel Codificación:

BasicMessageChannel(String name, MessageCodec<T> codec)

A continuación, se implementan las siguientes funciones en nativo (android):

  • Cree un BasicMessageChannel con la misma cadena de registro que flutter.
  • Registrarse Procesador de mensajes A través de setHandler.
  • Después de recibir el mensaje MessageHandler.onMessage Devolver la llamada, responder para responder.

Native envía un mensaje a flutter

Primero, las siguientes funciones se implementan en nativo (Android):

  • Cree BasicMessageChannel.
  • Enviando un mensaje BasicMessageChannel.send

A continuación, se implementan las siguientes funciones en flutter:

  • Cree BasicMessageChannel, utilizando «nombre / identificador del paquete» como cadena de registro.
  • Registrarse Procesador de mensajes A través de setHandler.
  • Después de recibir el mensaje Procesador de mensajes,respuesta.

LEER  Cómo instalar Linux y Pi-hole en cualquier dispositivo Android | Autor: André Nagatani | Septiembre de 2021

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba