Servicio de Android: enlace el servicio.Obtenga información sobre el servicio de vinculación, su uso, cómo… | Por Omkar S Sawant | Enero de 2022


Cuando también desea comunicarse con otros componentes. También cuando quieras crear una arquitectura tipo cliente-servidor. Un servicio se conecta a diferentes componentes de cliente. Definitivamente debería preferir usar servicios enlazados.
Aquí el servicio de enlace es una subclase de servicio. Debe implementar las devoluciones de llamada onBind() y onUnBind() del servicio.
Puedes comunicarte de tres formas:
usar adhesivo
La conexión entre este servicio Otro componente se construye utilizando la clase Binder. Service.onBind() devuelve una clase Binder. El sistema operativo Android llama a este método solo una vez para crear una instancia de la clase Binder. Esta clase de Binder está almacenada en caché por diferentes clientes. hasta el ciclo de vida del servicio.
Sin embargo, esto solo se usa para la comunicación en proceso.
Puede observar la forma en que puede comunicarse usando Binder , Binder -> Service , Binder -> AnyHandler , esta es solo una forma de conectar servicios a componentes.
componente fuente
Al igual que las líneas 10-12 anteriores, tiene acceso a service , binder y cualquier clase auxiliar dedicada a realizar la comunicación.
Messenger es como un medio, y la comunicación se realiza a través de la clase Message. Entonces configura messenger tanto en el componente como en el servidor. Hay dos formas de comunicarse. Esto debe ser manejado con un controlador. Este controlador está vinculado a un solo subproceso, por lo tanto, la tarea/trabajo es seguro para subprocesos.
Por lo tanto, IPC (Comunicación entre procesos) se puede lograr mediante este método.
Este mensajero proporciona un Binder a través del cual se puede realizar la comunicación como un servicio acotado. Para otra parte de Messenger existe answerTo, que es el Messenger del componente correspondiente.
componente fuente
Binding Service se usa cuando el servicio necesita comunicarse con sus componentes agregados. Usamos Binder para la comunicación en proceso y Messenger para la comunicación entre procesos.
Hay otra comunicación a través de AIDL, que es un tema avanzado que trataremos más adelante.