wie man einen Hörer durch Reflexion in Android instanziiert

8

Ich muss eine Anwendung für Android 1.6 (API 4) entwickeln, die den OnAudioFocusChangeListener (erhältlich seit Android 2.2 - API 8) in den Telefonen mit Android 2.2 oder höher verwenden könnte.

Jeder kann mir sagen, wie man einen Hörer durch Reflexion instanziiert? Ich habe es bereits geschafft, statische und auch nicht statische Methoden durch Reflektion auszuführen, aber ich weiß nicht, wie ich mit Zuhörern umgehen soll.

Dies ist der Zuhörer, der reflektiert:

%Vor%

Dies ist ein Codebeispiel mit Methoden, die ich durch Reflektion ausführen konnte:

%Vor%     
Daniele B 21.09.2011, 18:10
quelle

2 Antworten

6

Am Ende habe ich es mit einer Proxy-Klasse gelöst. Hier ist der Code!

%Vor%

PROXY OnAudioFocusChangeListener-Klasse

%Vor%     
Daniele B 28.09.2011, 19:42
quelle
1

IMHO Reflexion wird Ihre Klassen weniger lesbar machen. Auch die Reflexion ist ein wenig langsamer als der normale Feld- oder Klassenzugriff.

Als Alternative sehen Sie sich den Wrapper-Klassen-Ansatz an, der hier beschrieben wird: Ссылка

Erstellen Sie eine Schnittstelle und zwei Implementierungen davon, eine für API 8+ und die andere für die früheren Versionen. In Ihrer API8-Klasse können Sie API 8-Klassen einschließlich OnAudioFocusChangeListener verwenden. Dann instanziieren Sie die Version basierend auf der Version des Betriebssystems, die Sie über Build.VERSION.SDK_INT .

    
Peter Knego 21.09.2011 18:45
quelle

Tags und Links