2011-12-14 16 views
6

Chcę udostępnić interfejs za pośrednictwem AIDL z aplikacjami klienckimi. Dostaję błędy podczas kompilacji. Fragment kodu jest: -Czy można używać dziedziczenia w interfejsach AIDL?

interface ChildListener extends ParentListener { 

    public void onUpdate(Class1 c1); 
} 

AIDL Set (wszystkie w tym samym opakowaniu) ->

ChildListener.aidl - Zawiera powyższy kod.

Class1.aidl - Deklaracja Klasa 1 jako działka. Definicja narzędzi klasy 1 jest paczkomatowa.

ParentListener.aidl - Deklaracja ParentListener.

Błędy ->

Dostaję błędy kompilacji czasu (usługa podczas kompilacji)

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

Wydaje się, że nie możemy używać dziedziczenie interfejsów AIDL? Czy może tu coś mi brakuje? Wszelkie wskazówki będą mile widziane.

Pozdrawiam

+0

Czy ktoś wcześniej napotkał taki błąd? – Robin

Odpowiedz

2

Nie można używać przedłużyć jeśli deklarują aidl interfejs. Interfejs Aidl ma specjalny format. Nawet nie odpowiada deklaracji interfejsu java.

Jeśli określisz, co chcesz zrobić, postaramy się wskazać, jak rozwiązać problem.

+0

Tak, interfejsy helpl nie wspierają dziedziczenia. Rozgryzłem to. Dziękuję za odpowiedź. Dla każdego, kto chce korzystać z pomocy --- --- 1). w przypadku klas danych, gdy paczkujesz klasę, możesz obsługiwać elementy danych macierzystych w polach writeToParcel & static CREATOR. 2). W przypadku interfejsów upuść całe dziedziczenie (jeśli próbujesz ponownie użyć istniejącego projektu w programie pomocniczym), aby udostępnić mechanizm w celu udostępnienia klas danych w najprostszy z możliwych sposobów. – Robin

Powiązane problemy