android - keywords - Ejemplo de uso de AIDL
meta tags generator (4)
AIDL es el lenguaje de definición de interfaz de Android. Esto básicamente le permite hacer llamadas IPC.
Uso: hay situaciones en las que un proceso necesitaría hablar con otros para obtener cierta información.
Ejemplo: El proceso A necesita información sobre el estado de la llamada para determinar si necesita cambiar el tipo de llamada (por ejemplo, audio a video llamada o viceversa). Puede obtener el estado de llamada de ciertos oyentes, pero para cambiar el tipo de llamada de Audio a Video, el Proceso A necesita un enlace para cambiar. Este "Enganche" o forma de cambio de llamadas suele formar parte de las Clases de telefonía que forman parte del Proceso de telefonía . Entonces, para obtener dicha información del proceso de telefonía, One puede escribir un servicio de telefonía (que se ejecuta como parte del proceso de telefonía de Android), que le permitirá consultar o cambiar el tipo de llamada. Como el Proceso A (Cliente) aquí está utilizando este Servicio remoto que se comunica con el proceso de Telefonía para modificar el tipo de llamada, necesita una interfaz para comunicarse con el servicio. Como el servicio de telefonía es el proveedor y el usuario es el proceso A (cliente) , ambos deben acordar una interfaz (protocolo) que puedan comprender y cumplir. Dicha interfaz es AIDL , que le permite hablar (a través de un servicio remoto) al proceso de telefonía y realizar un trabajo.
En términos sencillos, AIDL es un "acuerdo" que el cliente obtiene, que le informa sobre cómo comunicarse con el servicio. El servicio en sí tendrá una copia de ese acuerdo (ya que se publicó para sus clientes). El servicio luego implementará detalles sobre cómo se maneja una vez que llega una solicitud o cuando alguien está hablando con ella.
Entonces, el proceso A solicita cambiar la llamada a través del Servicio, el Servicio recibe la solicitud, habla sobre el proceso de telefonía (ya que es parte de eso) y cambia la llamada al video.
Un punto importante a tener en cuenta es que AIDL solo es necesario para entornos de subprocesos múltiples. Podría deshacerse de Binders si no necesita lidiar con el arco multiproceso.
para entender el AIDL
en android, quiero un ejemplo de la vida real, significa en qué escenario de desarrollo necesitamos usar AIDL
.
leyendo los documentos de Android ... Me pone en confusión y tantas preguntas, por lo que es difícil leer todo el documento para mí, ¿alguien puede ayudarme?
es para comunicarse fuera del teléfono.
o para comunicarse con diferentes aplicaciones (por qué necesitamos comunicarnos con otras aplicaciones)
qué tipo de servicio están hablando en documentos
AIDL se usa para Binder. Binder es un mecanismo para hacer llamadas RPC en / desde un servicio de Android.
Cuándo usar AIDL? Cuando necesitas un servicio ¿Cuándo necesitas un servicio? Si desea compartir datos y controlar algo en otra aplicación, necesita un servicio que use AIDL como interfaz. (Un proveedor de contenido se usa solo cuando se comparten datos).
Los servicios se pueden usar dentro de su aplicación a medida que el modelo avanza en el patrón MVC.
Otro ejemplo del mundo real es que Google Play License está usando AIDL.
1 - ¿es para comunicarse con el exterior del teléfono? Su comunicación con fuera de la aplicación.
2 - o para comunicarse con diferentes aplicaciones (por qué necesitamos comunicarnos con otras aplicaciones) Como mencionó @GodOnScooter, cuando su aplicación se comunica con el servicio de telefonía, que en realidad es otra parte.
3 - ¿Qué tipo de servicio están hablando en documentos?
Este es un servicio que se ejecuta en un proceso diferente de un sistema. Para vincularlo a este servicio necesita IPC (comunicación entre procesos), se usa AIDL para implementarlo.