Creative Commons Lizenzvertrag

Samstag, 20. Oktober 2012

Android Programmierung unter Google TV

Über meine Erfahrungen mit Google TV als User hatte ich ja bereits berichtet und heute schreibe ich über meine Erfahrungen der Programmierung. Google TV ist ja im Prinzip nichts weiter als ein Android Gerät mit ein paar Besonderheiten. Ich möchte hier nicht alle Aspekte beleuchten sondern nur meine eigenen Erfahrungen bei der Anpassung von Andlin, dem Android-Client für weblin mitteilen.

Wenn die eigene App unter Google TV laufen soll sind ein paar Änderungen an der App notwendig. Normal geschriebene Apps laufen unter Google TV normalerweise nicht. Hauptursache dafür ist ein fehlender Eintrag  im AndroidManifest. Google TV kennt ja keinen Touchscreen und deshalb werden APKs normal für Google TV nicht gelistet. Als Entwickler sollte man sich entscheiden ob man eine App für alle Geräte entwickelt, unterschiedliche Apps für "normales" Android  und Google TV. Bei letzterem kann man dann noch wählen wob die App im Store gemeinsam unter einer Adresse abrufbar sind oder nicht.

Jedes Verfahren hat seine Vor- und Nachteile. Sollen die Apps getrennt gelistet werden braucht man unterschiedliche Packagenamen und ist ansonsten recht frei in dem was man macht. Sollen die unterschiedlichen Apps gemeinsam angezeigt werden brauchen sie nur eine unterschiedlichen Versionscode. Allerdings unterstützt nur der Google Play Store diese Vorgehensweise. Benutzt man noch andere Stores ist diese Vorgehensweise nicht möglich. Ich hatte dies erst so machen wollen, stellte dann aber noch fest das einige Geräte beide Versionen hätten laden können. Der Google Play Store hätte dann immer die mit dem höheren Versionscode angeboten. Letztendlich habe ich mich dann dazu entschlossen nur noch eine einzige App anzubieten. Dazu mußte ich dann nur folgendes in die Manifest-Datei eintragen:

<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>

Dadurch wird die App auch im Play Store für Google TV Geräte angezeigt. Nun muss man nur noch in den Sourcen alle Teile ausschließen die Google TV nicht unterstützt, welche dies im einzelnen sind kann man auf der Entwicklerseite lesen. Bei mir waren es nicht allzu viele so das sich der Aufwand in Grenzen hielt. Lediglich meine Zoomfunktion per Touchscreen habe ich durch die Tastatursteuerung ergänzen müssen. Je nach Bedarf kann/muss auch das Layout für Google TV noch angepasst werden.

Fazit: Der Aufwand eine bestehende App an Google TV anzupassen kann unterschiedlich groß sein. Bei mir war er eher gering. Problematisch wird es nur bei nativen Apps da Google TV diese nicht unterstützt. Das bedeutet das Apps für Google TV immer in Java geschrieben sein müssen. 

Kommentare ohne Google+ erstellen:

Marmel powered by Instant Communities