Cómo crear archivos Aidl en el desarrollo de Android
(1) En el directorio del paquete Java del proyecto Eclipse de Android, cree un archivo con la extensión Aidl. La sintaxis de este archivo es similar al código Java, pero ligeramente diferente. Consulte el Ejemplo 52 para obtener más detalles.
(2) Si el contenido del archivo Aidl es correcto, ADT generará automáticamente el archivo de interfaz Java (*.java).
(3) Cree una clase de servicio (una subclase de Servicio).
(4) Implemente la interfaz Java generada por el archivo Aidl.
(5) Configure el servicio AIDL en el archivo AndroidManifest.xml, preste especial atención al valor del atributo android:name en la etiqueta
Crear un servicio AIDL
En este ejemplo, crearemos 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 es como se muestra en la figura
El contenido del archivo IMyService.aidl es el siguiente:
Código Java:
paquete eoe.demo;
interfaz IMyService {
String getValue();
}
El contenido del archivo IMyService.aidl es muy similar al código Java, pero debe prestar atención a Sí, no puede agregar modificadores (por ejemplo, público, privado), tipos de datos que no son compatibles con el servicio AIDL (como público, privado), no 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 del archivo ni necesitan mantenerlo. Para conocer el contenido específico de este archivo, los lectores pueden ver el código fuente proporcionado en esta sección.
(3) Escribe la clase MyService. MyService es una subclase de Servicio. Una clase en línea (MyServiceImpl) se define en la clase MyService, que es una subclase de IMyService.Stub. El código de la clase MyService es el siguiente:
Código Java:
paquete eoe.demo
import android.app.Service
;importar android.content.Intent