Red de conocimiento informático - Computadora portátil - Cómo copiar un archivo Aidl en Android Studio¿Qué es el servicio AIDL de Android Studio? Para permitir que otras aplicaciones accedan a los servicios proporcionados por esta aplicación, el sistema Android utiliza una llamada a procedimiento remoto (RPC) para implementarlo. Como muchas otras soluciones basadas en RPC, Android utiliza un lenguaje de definición de interfaz (IDL) para exponer las interfaces de servicio. Por lo tanto, los servicios a los que se puede acceder a través de procesos se denominan servicios AIDL (lenguaje de definición de interfaz de Android). Los pasos específicos para crear archivos de servicio AIDL en Android Studio son los siguientes: 1. Antes de crear la interfaz AIDL, debe seleccionar el archivo en el proyecto actual y seleccionar el proyecto completado. 2. Luego haga clic en la opción Archivo en el menú de Android Studio y aparecerá una opción Nuevo en el menú desplegable. 3. Aparecerá un menú de nivel inferior, seleccione la opción AIDL en el menú de nivel inferior. 4. Aparece el menú y haga clic en el menú en la opción ARCHIVO AIDL. 5. Aparecerá una opción de ventana AIDL. Debe agregar un nombre a la interfaz. Ingrese el nombre en el cuadro de entrada del nombre de la interfaz y haga clic en Finalizar en la opción. 6. Luego agregue un archivo Aidl para Tianji en el proyecto. Debajo de este archivo, hay un archivo con el sufijo Aidl, que en realidad es un archivo de interfaz. Ejemplo: Lado del servidor: este ejemplo crea un servicio AIDL simple. Este servicio AIDL tiene solo un método getValue, que devuelve un valor de tipo cadena. Una vez instalado el servicio, se llama al método getValue en el lado del cliente y el valor de retorno se genera en el componente TextView. Los pasos para construir este servicio AIDL son los siguientes: (1) Cree un archivo Aidl. Cree el archivo IMyService.aidl en el directorio del paquete Java. La ubicación del archivo IMyService.aidl se muestra en la figura. El contenido del archivo IMyService.aidl es el siguiente: paquete cn.m9.mobile.aidl;interface IMyService {String getValue();}El contenido del archivo IMyService.aidl es muy similar al cn.m9.mobile.aidl archivo. El contenido del archivo Aidl es muy similar al código Java, pero tenga en cuenta que no puede agregar modificadores (como públicos, privados), tipos de datos que no son compatibles con el servicio AIDL (como InputStream, OutputStream), etc. (2) Si el contenido del archivo IMyService.aidl se ingresa correctamente, ADT generará automáticamente el archivo IMyService.java. Por lo general, los lectores no necesitan preocuparse por el contenido específico de este archivo ni necesitan mantenerlo. (3) Escriba una clase MyService. MyService es una subclase de Service. Se define una clase integrada (MyServiceImpl) en la clase MyService, que es una subclase de IMyService.Stub.

Cómo copiar un archivo Aidl en Android Studio¿Qué es el servicio AIDL de Android Studio? Para permitir que otras aplicaciones accedan a los servicios proporcionados por esta aplicación, el sistema Android utiliza una llamada a procedimiento remoto (RPC) para implementarlo. Como muchas otras soluciones basadas en RPC, Android utiliza un lenguaje de definición de interfaz (IDL) para exponer las interfaces de servicio. Por lo tanto, los servicios a los que se puede acceder a través de procesos se denominan servicios AIDL (lenguaje de definición de interfaz de Android). Los pasos específicos para crear archivos de servicio AIDL en Android Studio son los siguientes: 1. Antes de crear la interfaz AIDL, debe seleccionar el archivo en el proyecto actual y seleccionar el proyecto completado. 2. Luego haga clic en la opción Archivo en el menú de Android Studio y aparecerá una opción Nuevo en el menú desplegable. 3. Aparecerá un menú de nivel inferior, seleccione la opción AIDL en el menú de nivel inferior. 4. Aparece el menú y haga clic en el menú en la opción ARCHIVO AIDL. 5. Aparecerá una opción de ventana AIDL. Debe agregar un nombre a la interfaz. Ingrese el nombre en el cuadro de entrada del nombre de la interfaz y haga clic en Finalizar en la opción. 6. Luego agregue un archivo Aidl para Tianji en el proyecto. Debajo de este archivo, hay un archivo con el sufijo Aidl, que en realidad es un archivo de interfaz. Ejemplo: Lado del servidor: este ejemplo crea un servicio AIDL simple. Este servicio AIDL tiene solo un método getValue, que devuelve un valor de tipo cadena. Una vez instalado el servicio, se llama al método getValue en el lado del cliente y el valor de retorno se genera en el componente TextView. Los pasos para construir este servicio AIDL son los siguientes: (1) Cree un archivo Aidl. Cree el archivo IMyService.aidl en el directorio del paquete Java. La ubicación del archivo IMyService.aidl se muestra en la figura. El contenido del archivo IMyService.aidl es el siguiente: paquete cn.m9.mobile.aidl;interface IMyService {String getValue();}El contenido del archivo IMyService.aidl es muy similar al cn.m9.mobile.aidl archivo. El contenido del archivo Aidl es muy similar al código Java, pero tenga en cuenta que no puede agregar modificadores (como públicos, privados), tipos de datos que no son compatibles con el servicio AIDL (como InputStream, OutputStream), etc. (2) Si el contenido del archivo IMyService.aidl se ingresa correctamente, ADT generará automáticamente el archivo IMyService.java. Por lo general, los lectores no necesitan preocuparse por el contenido específico de este archivo ni necesitan mantenerlo. (3) Escriba una clase MyService. MyService es una subclase de Service. Se define una clase integrada (MyServiceImpl) en la clase MyService, que es una subclase de IMyService.Stub.

El código de la clase MyService es el siguiente: paquete cn.m9.mobile.aidl;import android.app.Service;import android.content.Intent;import android.os.IBinder;public class MyService extends Service { public class MyServiceImpl extends IMyService.Stub { public String getValue(){return "Android es muy poderoso";}}@Overridepublic IBinder onBind (Intent arg0) {// TODO Método generado automáticamente stubreturn new MyServiceImpl();}} Al escribir el código anterior, debe prestar atención a las dos cosas siguientes: IMyService.Stub se genera automáticamente en función del archivo IMyService.aidl. Generalmente, no necesita preocuparse por el contenido de esta clase. El método onBind debe devolver una instancia de objeto de la clase MyServiceImpl; de lo contrario, el cliente no podrá obtener el objeto de servicio. (4) Configure la clase MyService en el archivo AndroidManifest.xml, el código es el siguiente: donde "cn.m9.activity.IMyService" es el ID utilizado por el cliente para acceder al servicio AIDL. Primero, cree un nuevo proyecto Eclipse de Android (TestAidlClient) y copie el archivo IMyService.java generado automáticamente junto con el directorio del paquete en el directorio src del proyecto testAIDL_client (excepto el archivo R). Para llamar al servicio AIDL, primero debe vincular el servicio y luego obtener el objeto del servicio. El código es el siguiente: paquete cn.m9.mobile;import cn.m9.mobile.R;import cn.m9.mobile.aidl. .IMyService;importar android.app.ServiceConnection;importar android.os.Bundle;importar android.os.IBinder;importar android.util.Log;importar android.view.View;importar android.view.View.OnClickListener;importar android. widget.Button;import android .widget.TextView;clase pública TestAidlClient extiende los implementos de actividad OnClickListener {/** Se llama cuando se crea la actividad por primera vez.