2011-12-14 19 views
6

Quiero compartir una interfaz a través de AIDL con aplicaciones cliente. He estado recibiendo errores de tiempo de compilación. El fragmento de código es: -¿Es posible usar herencia en las interfaces AIDL?

interface ChildListener extends ParentListener { 

    public void onUpdate(Class1 c1); 
} 

AIDL Conjunto (Todo en el mismo paquete) ->

ChildListener.aidl - Contiene el código de seguridad.

Clase1.aidl - Declara Clase 1 como parcelable. Definición de implementos de clase 1 parcelable.

ParentListener.aidl - Declara ParentListener.

Errores ->

estoy recibiendo errores de compilación de tiempo (servicio al compilar)

1. syntax error don't know what to do with "extends" 
2. syntax error don't know what to do with "ParentListener " 

parece que no podemos utilizar la herencia en las interfaces AIDL? O es que me falta algo aquí. Cualquier indicador sería apreciada.

Saludos

+0

¿Alguien ha encontrado tal error antes? – Robin

Respuesta

2

No se puede utilizar cuando se declara extender AIDL interfaz. La interfaz de Aidl es de formato especial. Incluso no se corresponde con la declaración de interfaz de Java.

Si especifica lo que quiere hacer, intentaremos indicarle cómo resolver el problema.

+0

Sí, las interfaces de ayuda no son compatibles con la herencia. Yo deduje eso. Gracias por la respuesta. Para cualquier otra persona que quiera usar aidl ---> 1). para las clases de datos, cuando hace una clase parcelable, puede manejar los miembros de datos principales en los campos writeToParcel & static CREATOR. 2). Para las interfaces, suelte toda la herencia (si está intentando reutilizar el diseño existente en aidl) para exponer el mecanismo para compartir las clases de datos de la manera más simple posible. – Robin

Cuestiones relacionadas