Home

PDF-Version (~7,1 Mb)

image

Contents

1. W rden Sie gerne auf Ihrem Smartphone oder Tablet fernsehen gerne unwichtig 1 2 3 4 5 Wurden Sie die Box von Ihrem Sofa aus eher mit dem Smartphone oder der mitgelieferten Fernbedienung bedienen Smartphone I Fernbedienung Glauben Sie Sie w rden die Aufgaben aus Teil 1 in einem zweiten Durchlauf schneller und einfacher l sen k nnen Ganz klar nein 1 2 3 4 5 ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 104 ANHANG A UNTERLAGEN ZUR EVALUATION A 4 Anmerkungen Anmerkungen der Probanden w hrend der Usability Tests Test 1 e Icons nicht klar erkennbar e Login Textfeld Cursor nicht zu sehen Test 2 e Fernbedienung mit Tabs oder Indikator versehen e Fernbedienung in Grundbedienung starten e Planen im Planer gesucht erm glichen e Medien Steuerung mit Bilderbuttons Test 3 e S2 mit Hilfe gel st e Fernbedienung nur die erste Ansicht gefunden e S5 nicht vollst ndig gel st Test 4 e Fernbedienung mit Tabs oder Indikator versehen e Login Textfeld markieren e Tutorial bei Erststart Test 5 e Login Textfeld markieren e Planen im Planer gesucht erm glichen e S2 mit Hilfe gel st e Fernbedienung nur die erste Ansicht gefunden e S5 mit Hilfe gel st ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS A 4 ANMERKUNGEN 105 T
2. ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS Nn nak WN eH 42 KAPITEL 6 IMPLEMENTATION und ein f r Sat gt IP blicher RTSP Stream wiedergegeben werden k nnen An dieser Funkti onsbreite scheitert der im Android Betriebssystem integrierte Videoplayer und f llt somit als Wiedergabeapplikation aus Nach einiger Recherche wurde der MX Player als die geeignetste Anwendung ausgew hlt Goob Der MX Player vereint alle n tigen Funktionen und unterst tzt dabei alle hier verwendeten Protokolle Weiterhin war die Dokumentation der API sehr pr zise umfangreich MX und mit einigen Beispielen hinterlegt Zudem ist eine kostenlose Version des Players im Google Play Store verf gbar sodass der Nutzer keine weiteren Kosten zu erwarten hat Wenn der Nutzer nun innerhalb der Applikation ein Video abspielen m chte wird zun chst ge pr ft ob der MX Player auf dem Ger t installiert ist Listing 6 1 zeigt wie innerhalb der Methode isAppInstalled mit Hilfe des im System integrierten PackageManager nach der Applikati on gesucht wird Dabei wird der packageName in diesem Fall com mxtech videoplayer ad f r die kostenlose beziehungsweise com mxtech videoplayer pro f r die kommerzielle Version des Players in Form eines Strings bergeben public boolean isAppInstalled Activity a String packageName try a getPackageManager getPackageInfo packageName PackageManager GET_ACTI
3. lt xml version 1 0 encoding utf 8 gt lt manifest xmlns android http schemas android com apk res android package de discvision setone android versionCode 9 android versionName 0 9 gt lt uses sdk android minSdkVersion 9 android targetSdkVersion 19 gt lt uses permission android name android permission ACCESS_NETWORK_STATE gt lt uses permission android name android permission ACCESS_WIFI_STATE gt lt uses permission android name android permission CHANGE_WIFI_MULTICAST_STATE gt lt uses permission android name android permission INTERNET gt lt uses permission android name android permission VIBRATE gt lt application android allowBackup false android icon drawable ic_launcher android label string app_name gt lt activity android name de discvision setone LoginActivity android label string app_name android theme style Theme Sherlock NoActionBar android windowSoftInputMode stateHidden gt lt intent filter gt lt action android name android intent action MAIN gt lt category android name android intent category LAUNCHER gt lt intent filter gt lt activity gt lt activity android name de discvision setone MainActivity android label string app_name android theme style Theme Sherlock gt lt activity gt lt activity android name de discvision setone remote RemoteActivity android label string title_activity_remote a
4. Medien Steuerung mit Bilderbuttons Tutorial bei Erststart Zahlen Schriftgr e gr er machen FIrIr N N N N Fernbedienung bei Erststart mit Tutorial versehen ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS Inhalt der CD Android Applikation Masterarbeit Dokumentation Unterlagen zur Evaluation 113 Erkl rung Hiermit versichere ich dass ich die vorliegende Arbeit selbst ndig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt sowie Zitate kenntlich gemacht habe Osnabr ck M rz 2014
5. Fragments verf gen hnlich der Activities ber ihren eigenen Lebenszyklus Status und Back Stack und werden ber einen FragmentManager verwaltet Au erdem k nnen Fragments inner halb des Programmcodes einer Activity durch Transaktionen dynamisch ausgetauscht und an gepasst werden Sie k nnen berdies ineinander verschachtelt werden und so beliebig komplex angeordnet werden UDMN12 Fragments haben zus tzlich noch einen weiteren Einsatzbereich Sie k nnen innerhalb eines soge nannten ViewPagers eingesetzt werden Andr Ein Viewpager verwaltet die einzelnen Fragments nebeneinander und erm glicht das sogenannte sliden zwischen diesen Dies wird durch horizon tales Wischen bewirkt So k nnen innerhalb einer Activity mehrere Bildschirmansichten mit Hilfe von Fragments nebeneinander angeordnet werden und ber automatisch erzeugte Animationen ausgew hlt werden 3 3 5 Ressources Unter Ressourcen versteht man in Android austauschbare Daten wie beispielsweise Bilder Strings Layouts oder Farbdeklarationen Diese Ressourcen sollten immer ausgelagert werden Ein ent scheidender Vorteil der Auslagerung liegt in der Transferierbarkeit und Wiederverwendbarkeit dieser Elemente Auch wenn die Daten extern gelagert werden erm glicht die APT immer einen einfachen und schnellen Zugriff innerhalb des Programmcodes Nachfolgend sollen die in dieser Arbeit zum Einsatz kommenden wichtigsten Ressourcentypen kurz vorgestellt werden Drawable
6. Cancel a Dialog bei Erststart b bersicht Abbildung 6 10 Ansichten des Paarungsbildschirms nur zwei Icons und drei schriftlichen Eintr ge zu sehen Wohin entgegen im Landscape Modus aufgrund von mehr Spielraum drei Icons und zwei schriftliche Eintr ge zu sehen sind Dies wird durch die Action Bar automatisch verwaltet und an die jeweilige Bildschirmgr e angepasst Dies bez glich werden wie in den Grundlagen bereits beschrieben die einzelnen Men eintr ge mit Icons und Priorit ten der Anzeigereihenfolge versehen Der Entwickler hat also die M glichkeit selbst zu entscheiden welche Optionen er f r wichtig h lt und als Icon angezeigt werden soll Die Auswahl der Icons wurde dabei wieder an die dem Nutzer bekannten Symbole angelehnt um somit eine bessere Zug nglichkeit und Kompatibilit t nach den Android Design Richtlinien zu erlangen Override public boolean onOptionsItemSelected Menultem item Y switch item getItemId case R id action_settings_remotecontrol startActivity new Intent this RemoteActivity class break case android R id home super onBackPressed break default break F return super on0ptionsItemSelected item Listing 6 7 Optionsmen mit Aktionen hinterlegen ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 56 KAPITEL 6 IMPLEMENTATION amp Settings set top box Vibration Rer Help Show helptext Application i
7. In der bersicht werden Datum Uhrzeit und Sender aufgef hrt Die Daten werden auch hier vom ConnectTV Server abgerufen welcher eine separate Funktion f r die Planerliste bereitstellt Detailinformationen zu den Sendungen werden ebenfalls wie auch in der EPG Ansicht ber eine zus tzliche Anfrage mit der entsprechenden Sendungs ID vom Server abgerufen Im Grunde genommen ist die Datenverarbeitung und haltung das Grunddesign sowie die An ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 6 4 BILDSCHIRMANSICHTEN 51 RECORDINGS 31 01 19 45 19 50 Sportschau vor acht Das Erste HD Moderator Matthias Opdenh vel gibt in a EPG TIMER RECORDINGS a E kompakten drei Minuten einen Ausblick auf den gt aktuellen Spieltag der Fu ball Bundesliga und Tagesthemen O 31 01 19 45 19 50 Y a informiert die Zuschauer ber weitere 09 02 22 45 23 15 sportliche H hepunkte des Wochenendes Die ge Sportschau vor acht redaktionelle Federf hrung f r die Sportschau vor acht liegt beim WDR B rse vor acht Das Erste HD Tagesthemen 2191198552000 Moderator Matthias Opdenh vel gibt in 09 02 22 45 23 15 kompakten drei Minuten einen Ausblick auf den aktuellen Spieltag der Fu ball Bundesliga und Sportschau vor acht i informiert die Zuschauer ber weitere sportliche AUOT TASES IS H hepunkte des Wochenendes Die redaktionelle Tagesthemen Federf hrung f r die Sportschau vor acht liegt 26
8. Server muss eine fortlaufende Sequenznummer unter dem Parameter CSeq bergeben werden Der Server gibt im Erfolgsfall eine Session ID und eine Stream ID zur ck Mit diesen IDs kann nun die PLAY Anfrage abgeschickt werden Wird dieser ebenfalls vom Server best tigt kann der MX Player nach bereits bekanntem Verfahren unter Angabe der URL rtsp ip port stream streamID gestartet werden In diesem Fall wird die Aufrechterhaltung der Verbindung nicht automatisch durch den Player geregelt Aus diesem Grund wird ein Hintergrund Task gestartet welcher alle f nf Sekunden eine OPTION Anfrage an den Sat gt IP Server sendet um die Verbindung zu halten Ansonsten w rde je nach Einstellung am Server die Verbindung automatisch nach einem gewissen Zeitraum abgebrochen werden Der Hintergrund Task l uft solange innerhalb des Models die Boolean Variable satipAlive den Wert true hat Diese muss also bei R ckkehr vom Player zur Applikation wieder auf false gesetzt werden damit dieser beendet wird Um dies zu erreichen wird der MX Player mit einem startActivityForResult Intent gestartet Wird nun durch Beendigung des Players zur Appli kation zur ckgekehrt kann innerhalb der Methode onActivityResult die stayAlive Variable entsprechend gesetzt werden sodass der Task eine TEARDOWN Anfrage an den Server sendet um die bertragung zu beenden und sich dann selbst beendet Die Wiedergabe eines jeden Programms muss also aus der Appli
9. Tasks is nen wre 3 3 4 Fragments 3 3 5 Ressources 3 3 6 Manifest 3 3 7 Preferences 4 Grundlagen Android Design Richtlinien 4 1 4 2 4 3 4 4 4 5 Struktur und Navigation Action Bar Layout und Gesten Dialoge und Benachrichtigungen Zug nglichkeit und Kompatibilit t 5 Grundlagen Werkzeuge 9 1 RIMidULl es 22 02 rs 29 29 30 31 32 33 35 52 Eclipse ADT Pl gin to a Ah der ARA ae lle Re 35 Implementation 37 6 1 Anforderungen und Umsetzung ye sce ee 2 3 2 oe ea a pe A 37 6 2 Prototyp mit FluidUL e ese ee ee Po eee eee 39 6 3 Externe Bibliotheken und Anwendungen a 41 6 3 1 AebionBarsherlock naeh fh ae ee eat 41 6 3 2 MX Player e pp Se apn ee ee oh ie de e 41 6 4 Bildschirmansichten e 43 6At Anmeldung ee u nee Be ee 43 6 4 2 Hauptbildschirm 22 22 Comm 44 BASSSERG ee Dr Sanat BE a ae ashlee a Gia aa Er BED Be 45 643 1 Allgemein s a a ee a ade 45 6 43 2 Datente nn So oe Se en td ee rn a do e 45 Sao DET an or aa ee 47 6 4 3 4 Layoutanpassung 2 22 Cm on 48 64 4 Planer y e dene ALERT ebenen 50 045 Aumahmen 2 it sat Ko A od Be OL ee es 51 6 4 6 Videoplayer msn net et a ee de en Be Le 52 BAT Sen Lara alae iy AE BO a a ee td de A 53 6 4 8 Partida e an ee re A A ER 56 6 4 9 Einstellungen a acess aha Se Age Mie kei die an whe gai 56 6 4 10 Fernbedienung meva rn ace OR a
10. Unter Drawables versteht man alle Arten von Grafiken welche auf dem Bildschirm dargestellt werden In der Regel sind dies Bilder oder Icons wie auch das Starter Icon der Ap ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS OoN AUNE 24 KAPITEL 3 GRUNDLAGEN ANDROID plikation Die Drawables unterliegen dabei einer weiteren Unterteilung nach ihrer Aufl sung So sollten f r unterschiedliche Bildschirmgr en und aufl sungen verschiedene Bildgr en bereit gestellt werden Denn w hrend ein Smartphone mit einem vergleichsweise kleinem Bildschirm auch nur ein kleines Bild mit geringer Aufl sung ben tigt sollte f r ein Tablet das gleiche Bild mit h her Aufl sung verwendet werden Hierdurch wird zum einen berfl ssiges Laden von zu gro en Bildern verhindert und zum anderen eine immer gleichbleibend gute Bildqualit t sicherge stellt Der entsprechende Unterordner wird dabei vom Betriebssystem selbst ausgew hlt sodass durch den Entwickler lediglich die richtigen Gr en in entsprechend standardisierten Ordnern bereitgestellt werden m ssen Andf Layout Durch die Layouts werden die Bildschirmansichten der einzelnen Activities mittels der Markup Language XML beschrieben Die Bildschirmansicht ist hierf r in einer Baumstruktur modelliert Die einzelnen Elemente werden dabei ineinander verschachtelt und es wird durch ihre Art und entsprechende Parameter festgesetzt wie diese sich im Elternel
11. ber eine dahinterliegende Logik son dern wird mit einem Schl ssel versehen Innerhalb der SettingsActivity kann der Methode findPreference dieser Schl ssel bergeben und ein Click Listener an den entsprechenden Eintrag gesetzt werden Die hinterlegte Logik soll in diesem Fall nicht noch genauer betrachtet werden da der Aufbau identisch der einer Schaltfl che oder eines Men eintrags ist lt xml version 1 0 encoding utf 8 gt lt PreferenceScreen xmlns android http schemas android com apk res android gt lt PreferenceScreen android summary string pairing_button_pair android title string pairing_button_pairing gt lt intent android action android intent action VIEW android targetClass de discvision setone PairingActivity android targetPackage de discvision setone gt lt PreferenceScreen gt lt PreferenceScreen android key preference_info android summary string action_settings_info_summary android title string action_settings_info_title gt lt PreferenceScreen gt lt PreferenceScreen gt Listing 6 8 Aufbau einer Einstellungen Datei in XML 6 4 10 Fernbedienung Die letzte gro e Bildschirmansicht ist die der Fernbedienung Diese ist ber einen Men eintrag erreichbar und beinhaltet wie auch die Hauptbildschirmansicht einen FragmentPager welcher es erm glicht zwischen den einzelnen Fragmenten der vier Fernbedienungsbildschirme durch wischen zu wechseln In diesen Fall wurde auf die
12. den Kennung ausgew hlt Die Kennung der Ordner richtet sich dabei nach den ISO Normen der L ndercodes Ist die gew nschte Sprache nicht verf gbar wird automatisch die Standardsprache ausgew hlt 6 6 Manifest Das Manifest beinhaltet den Aufbau der Applikation sowie dessen Umgebungsparameter Lis ting 6 9 zeigt einen Auszug aus der in dieser Arbeit erstellten Manifest Datei Zun chst werden dort einige Randbedingungen gesetzt Begonnen wird mit dem Java Package der Anwendung welches auch als eindeutiger Identifikator der Anwendung dient Dieses Paket dient zum Finden der Anwendung innerhalb des Betriebssystems Dies wurde auch schon beim Start des Videoplayers in Abschnitt 6 4 6 als Indikator verwendet Darauf folgt in den Zeilen 4 5 die Versionsnummer der Anwendung Wenn die Applikation in den Google Play Store gestellt wird muss diese bei einem Update immer erh ht werden Darauf folgt die minimal ben tigte Android API Version Zeile 8 mit der diese Anwendung betrieben werden kann sowie gegen welche Version die Applikation kompiliert wurde Darauf folgen die von der Applikation ben tigten Berechtigungen in Form von XML Elementen des Titels uses permission in den Zeilen 11 15 Der ACCESS_NETWORK_STATE ist die erste Be rechtigung dieser erlaubt der Applikation Netzwerkverbindungen abzurufen Darauf folgt die sehr hnliche ACCESS_WIFI_STATE Berechtigung welche den Abruf von WLAN Verbindungen erm glicht Diese werden f r die berpr
13. discvision de Abruf Januar 2014 Ecl ECLIPSE About the Eclipse Foundation https www eclipse org org Abruf Januar 2014 Flua FLUID About us https www fluidui com aboutus Abruf Januar 2014 Flub FLUID Documentation https www fluidui com documentation Abruf Janu ar 2014 Gar GARTNER Gartner Says Asia Pacific Led Worldwide Mobile Phone Sales to Growth in First Quarter of 2013 http www gartner com newsroom id 2482816 Abruf Januar 2014 Gooa GOOGLE Android Open Source Project Issue Tracker https code google com p android issues detail id 27609 Abruf Januar 2014 ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS LITERATURVERZEICHNIS 87 Goob HS88 fiet 13 Jak KM12 K n12 MDMN12 Mei12 MX Opea Opeb Opec Phi SESa SESb SES12 GOOGLE PLAY STORE MX Player https play google com store apps details id com mxtech videoplayer ad amp hl de Abruf Januar 2014 HART Sandra G STAVELAND Lowell E Development of NASA TLX Task Load Index Results of empirical and theo retical research Elsevier Science Publishing Company 1988 ISBN 978 0444703880 IETF ORG HTTP Live Streaming http tools ietf org pdf draft pantos http live streaming 12 pdf Version Oktober 2013 JAKEWHARTON ActionBarSherlock http actionbarsherlock com Abruf Januar 2014 KOMATINENT Satya M
14. fung einer aktiven Netzwerkverbindung des Ger ts be n tigt Die dritte Berechtigung CHANGE_WIFI_MULTICAST_STATE erlaubt der Anwendung WLAN Multicasts zu empfangen welche f r das Sat gt IP und UPnP Protokoll ben tigt werden ber die INTERNET Berechtigung darf die Anwendung auf das Internet zugreifen welches f r die Kom munikation mit dem Connect T V Server ben tigt wird Zu Letzt wird die Berechtigung VIBRATE angefordert mit welcher die Vibrationsfunktion des Ger ts aktiviert werden kann Diese wird f r ein Feedback bei Tastendruck der Fernbedienung verwendet Im n chstem Teil folgt der eigentliche Aufbau der Applikation Zun chst werden der Anwendung in den Zeilen 19 20 ein Name und ein Icon zugeordnet welche aus den entsprechenden Ressour cen Ordnern geladen werden In Zeile 18 wird zus tzlich die Funktion allowBackup deaktiviert Diese Funktion erm glicht es ein Backup der Daten der Anwendung zu erstellen Dies ist in diesem Fall jedoch ein Sicherheitsrisiko da die gespeicherten Daten dann ber ein USB Kabel ausgelesen werden k nnen Da in diesem Fall auch Benutzername und Passwort permanent ge ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS hor FOO MON DA KRW NY eB Aa A A A A BB wWWwWWwwWWwWWwWwwwwns nnn NN NN NN FP RP RP BP RP BF BP m pub DH O0 009 so vn pub DH DO VO Od NDA U DH TOOK so Fw Wh 6 6 MANIFEST 61 speichert werden ist diese Funktion bewusst deaktiviert
15. intent setPackage com mxtech videoplayer ad startActivityForResult intent 0 Listing 6 5 Start des externen MX Players 6 4 7 Men Die Bildschirmansichten des EPGs des Planers und der Aufnahmen verf gen alle ber ein Opti onsmen Seit der Android Version 3 0 k nnen die Optionen in die Action Bar integriert werden Wie in den Abbildungen 6 9 a und b zu sehen ist k nnen die Men punkte in Form von Icons und durch schriftliche Eintr ge dargestellt werden Die einzelnen Men punkte k nnen di rekt im Source Code erstellt oder ber eine XML Datei eingebunden werden In dieser Arbeit wurde letztere Methode angewandt Die Men punkte werden innerhalb des Ressourcen Ordners im Order menu abgelegt In Abschnitt 3 3 5 ist bereits der Aufbau einer solchen Datei vorgestellt worden und soll daher hier nicht ein weiteres mal besprochen werden Da die Men s der verschiedenen Fragmente sich nur minimal unterscheiden wird das Men in der Haupt Activity geladen und wird daraufhin bei Anzeige der einzelnen Fragments entsprechend angepasst Durch das Uberschreiben der onCreateOptionsMenu Methode kann die XML Datei ber den MenuInflater geladen werden Um das Men nun an die einzelnen Fragments anpassen zu k nnen muss die aktuell angezeigte Seite des FragmentPagers immer bekannt sein Mit Hilfe des FragmentPagerAdapter kann ber einen Listener ermittelt werden welches Fragment gerade aktiv ist und in der Activity zwischengespeic
16. lichen Anwendungen programmatische Steuerung e Basisprotokolle Nur Basisprotokolle vorgegeben e Erweiterbarkeit Die Basisarchitektur kann durch individuelle Dienste berlagert werden Im Folgenden soll genauer auf die Architektur und im Zuge dessen auch auf den allgemeinen Ablauf eines UPnP Medienzugriffs eingegangen werden Wie Abbildung 2 3 gut verdeutlicht besteht UPnP aus den Bereichen Discovery Description Control Event Notfication und Pre sentation Au erdem wird kurz auf das Addressing die Grundlage f r das UPnP Netzwerk eingegangen UPn08 Addressing Damit eine Netzwerk Kommunikation via UPnP berhaupt m glich ist muss das Ger t die Grundvoraussetzung erf llen und eine g ltige IP Adresse besitzen Ob diese Adresse mittels DHCP oder auf anderem Weg erlangt wird ist dabei ohne belangen Discovery Sobald eine erfolgreiche Adressierung vorgenommen wurde wird die Lokalisierung ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS oP WN 8 KAPITEL 2 GRUNDLAGEN PVR SYSTEM durchgef hrt Hier werden die wichtigsten Angaben ber das Ger t wie Name Typ oder URL mit den anderen Ger ten des Netzwerks ausgetauscht Dabei kann sich das Ger t als einfaches Ger t oder aber als Controlpoint anmelden Ein einfaches Ger t versendet auf Basis des User Datagram Protocol UDP mittels Simple Service Discovery Protocol SSDP einen Multicast mit Informationen zu sich sel
17. 2 3 4 5 Zeitliche Anforderung Wie empfandst du den Zeitaufwand beim Bearbeiten der Aufgabe gering hoch 1 2 3 4 5 Ausfiihrung der Aufgaben Wie erfolgreich hast du deiner Meinung nach die vom Versuchsleiter gesetzten Ziele erreicht Wie zufrieden warst du bei deiner Leistung bei der Verfolgung deiner Ziele gut schlecht 1 2 3 4 5 Anstrengung Wie hart musstest du arbeiten um deinen Grad an Aufgabenerf llung zu erreichen gering hoch 1 2 3 4 5 Frustration Wie unsicher entmutigt irritiert gestresst und ver rgert versus sicher best tigt zufrieden und entspannt f hltest du dich w hrend der Aufgabe gering hoch 1 2 3 4 5 ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS A 3 FRAGEBOGEN 101 Test Nr Datum Teil 2 Haben Sie w hrend des Tests das Smartphone gedreht um eine andere Ansicht der Daten zu bekommen Ja En Nein Wenn Ja war dies mit Absicht oder sind Sie versehentlich darauf gesto en Absicht I Versehentlich Wenn Nein drehen Sie dies bitte jetzt und testen Sie kurz einige Funktionen Halten Sie die Darstellung der Applikation im Querformat f r ein Smartphone geeignet geeignet ungeeigne 1 2 3 4 5 Wie bewerten Sie die Struktur und Navigation der Anwendung gut sc
18. 3 0 und h her die native Android Action Bar verwendet und bei fr heren Versionen die Action Bar fast deckungsgleich durch eine Eigenimplementation ersetzt Zur Einbindung der Action Bar erben die Klassen von der SherlockActivity anstatt der nor malerweise in Android verwendeten Klasse Activity Die Fragments erben entsprechend von der Klasse SherlockFragmentActivity Es wird also einfach ein Sherlock vor die normalen Klassen namen gesetzt Eine Instanz der Action Bar erh lt man dann nicht wie blich ber die Methode getActionBar sondern ber die Methode getSupportActionBar Mit dieser Instanz kann daraufhin wie mit einer normalen Action Bar gearbeitet werden Die Bibliothek bietet nahezu alle Funktionen und Eigenschaften der normalen Action Bar und wird auf die gleiche Weise verwendet 6 3 2 MX Player ber die zu entwickelnde Applikation sollten auch Videos abgespielt werden k nnen Hierf r bestand zum einen die M glichkeit einen externen Player zu verwenden und zum anderem h tte ein eigener Player entwickelt werden k nnen Da letzteres ein zu gro er Mehraufwand gewesen w re und Android au erdem explizit daf r ausgelegt ist die F higkeiten anderer Applikation zu nutzen wurde die Verwendung eines externen Players vorgezogen Dabei trat das Problem auf dass nicht nur eine lokale Datei abgespielt werden musste Ebenfalls mussten auch MPEG Dateien via UPnP gestreamt werden k nnen ein HTTP Live Stream bergeben werden k nnen
19. Activity Lebenszyklus Ande 2 2 2 42 zn san ae 20 Design mit Fragments Ande sc ia ic ur rer et 23 Navigation innerhalb einer Anwendung Andi 2 2 2 2 2 30 Design einer Action Bar Anda as 882 44 Ree pn cee a A ee 31 bersicht ber die Kommunikation der Ger te 2 2 22 222222 38 Mock Ups der EPG Ansicht und einer Remotecontrol Ansicht in FluidUI 39 Teile eines Prototypen Aufbaus mittels FluidUl 40 Ansichten des Anmeldebildschirms 1 2222er ee 44 Ansichten der EPG Bildschirme Portrait 2222 46 Ansichten der EPG Bildschirme Landscape 2 2222 47 Ansichten der Planerbildschirme 2 4 08 122 ha 88a ee 50 Ansichten der Aufnahmebildschirme 51 Ansichten der Men s lcd EA nr Rie BAe A A 54 Ansichten des Paarungsbildschirms 02 25 ea a Pe YE 55 Ansicht des Einstellungsbildschirms o o 56 Ansichten der Fernbedienung cui med un a e Denn 58 Ansichten nach den Anpassungen e 75 81 82 ABBILDUNGSVERZEICHNIS ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS Listings 2 1 2 2 2 3 2 4 2 9 2 6 2 7 3 1 3 2 3 3 6 1 6 2 6 3 6 4 6 5 6 6 6 7 6 8 6 9 Beispiel einer Anfrage der Senderliste an den ConnectTV Server 5 Auszug aus einer Antwort des Connect TV Servers auf eine Senderlisten Anfrage 6 Discovery Beipiel f r einen Sat gt IP Serv
20. Datenverwaltung und auf das Design eingegangen werden Jede Ansicht wird dabei in ihrem Portrait und ihrem Landscape Layout betrachtet falls dort individuelle Anpassungen vorgenommen wurden Diese Arbeit hat einen Schwerpunkt dahingehend liegend die Layouts der Ansichten dynamisch an die Gr e eines Tablets anzu passen Im Laufe der Entwicklung der Applikation wurde jedoch festgestellt dass es sinnvoller erscheint die Ansicht an die Orientierung des Bildschirms anzupassen da viele Smartphones auch ber einen gen gend gro en Bildschirm verf gen um auf diese Weise Inhalte gut darstellen zu k nnen Aus diesem Grund wird in dieser Arbeit nicht mehr zwischen Smartphone und Tablet Ansichten unterschieden sondern zwischen den Orientierungen im Portrait und im Landscape Mode Zudem sind einige der folgenden Bildschirmansichten in ihrem Aufbau sehr hnlich daher wird in diesen F llen auf vorherige Erkl rungen verwiesen und nur auf die Besonderheiten und Eigenheiten dieser verwiesen 6 4 1 Anmeldung Die Bildschirmansicht der Anmeldung entspricht vom Layout einem aus vielem Bereichen be kanntem Aufbau Wie in Abbildung 6 4 zu sehen ist werden dem Nutzer zwei editierbare Text felder f r den Nutzernamen und das Passwort bereitgestellt sowie zwei Schaltfl chen f r die Anmeldung und die Registrierung eines neuen Nutzers im System Wenn die Anmeldeansicht in den Vordergrund kommt wird berpr ft ob der Nutzer sich bereits angemeldet hat und be
21. Fernsehprogramms auf seinem Android Ger t anschauen zu k nnen F r diese Anforderung soll das Sat over IP Protokoll Sat gt IP verwendet werden f r welches die Set Top Box einen inte grierten Sat gt IP Server bereitstellt Des Weiteren soll die Fernbedienung der Set Top Box durch eine in der Applikation integrierte virtuelle Version ersetzt werden k nnen und mit dieser das Ger t sowohl lokal als auch entfernt bedient werden k nnen Die Anbindung der Applikation wird dabei ber ein von DiscVision entwickeltes Serversystem verwaltet Durch dieses wird ebenfalls eine Nutzerverwaltung und die entsprechende Sicherheit gew hrleistet 2 KAPITEL 1 EINLEITUNG Zu Beginn der Arbeit sollen zun chst grundlegende Informationen zum eingesetzten PVR Sys tem angef hrt werden Dabei wird die DiscVision GmbH vorgestellt die Set Top Box und des sen Funktionen genauer betrachtet sowie das f r die Kommunikation verwendete Serversystem ConnectTV dargestellt Direkt im Anschluss werden die Protokolle von welchen Gebrauch ge macht wird vorgestellt und genauer durchleuchtet Dabei wird mit UPnP als Grundlage begon nen welches dann in Sat gt IP ebenfalls von Bedeutung ist und daraufhin wird das HLS betrachtet Im darauf folgenden Kapitel wird das Betriebssystem Android vorgestellt Es wird auf Allgemei nes zum hier verwendeten System sowie auf die Geschichte und Verbreitung eingegangen Im Anschluss wird die zugrundeliegende Architektur des Betri
22. GRUNDLAGEN PVR SYSTEM RTCP Data IP Address port 1 RTP Data BBC1 Channel 4 ARD mw RTL IP Address port Media Stream Object non playing streamID RTSP Session Session number f 2 A 2 2 z f 2 2 g 2 2 8 f 2 2 f C Etet i idiz a gt gt gt ES 8 a a a a a a a iy lt Hi S 4 4 4 se 4 Media Object Definition gi gt Abbildung 2 6 Sat gt IP Medien Stream Steuerung SES13 fortgefahren werden Zudem wird bei jeder dieser Anfragen unter dem Parameter CSeq ein fortlaufender Z hler mitgeschickt und jeweils vom Server mit der gleichen beantwortet Dadurch wird ein kontrollierter Ablauf gew hrleistet OPTIONS rtsp 192 168 178 57 554 stream 3 RTSP 1 0 CSeq 5 Session 2180f601c42957d Connection close Listing 2 7 Beispiel einer Sat gt IP OPTIONS Anfrage 2 6 HTTP Live Streaming HTTP Live Streaming oder auch HLS ist ein HTTP basiertes Protokoll welches es erm glicht ber einen konventionellen Webserver Medien zu Streamen Es wurde urspr nglich von Apple Inc f r eigene Zwecke entwickelt kommt nun allerdings auch bereits auf anderen Systemen mit Android oder Windows zum Einsatz Es handelt sich momentan noch um einen inoffiziellen Standard es ist allerdings im Jahr 2013 ein erster Entwurf erstellt worden und ein Antrag an die Internet Engineering Task Force IETF gestellt worden iet13 Da HLS auf HTTP basiert wird die gesamte Kommunikation ber Port 80 vollzogen Somit stelle
23. Teardown Um die Session permanent zu beenden muss der Client eine RTSP TEARDOWN Anfrage senden Damit wird auch die Wiedergabe des Streams beendet Im Beispiel passiert dies bei der Beendigung des RTL Streams Listing 2 6 zeigt ein Beispiel einer TEARDOWN Anfrage TEARDOWN rtsp 192 168 178 57 554 stream 2 RTSP 1 0 CSeq 5 Session 2166e663b4be550 Connection close Listing 2 6 Beispiel einer Sat gt IP TEARDOWN Anfrage Options Jeder Server hat eine Timeout Periode welche normalerweise bei 60 Sekunden liegt Wenn diese berschritten wird ohne dass der Client eine Anfrage an den Server sendet wird die Session und Wiedergabe des Streams ebenfalls beendet Aus diesem Grund muss sich der Client in einem gegen ber des Timeouts geringerem Zeitabstand beim Server melden Diese Meldung wird in regelm igen Abst nden in Form einer RTSP OPTIONS Anfrage durchgef hrt Im Beispiel geschieht dies ab dem Zeitpunkt des Setups und solange ein Kanal wiedergegeben wird und die Session noch aktiv bleiben soll Listing 2 7 zeigt ein Beispiel einer OPTIONS Anfrage In der Abbildung ist au erdem zu sehen dass beim Wechsel von ARD zu RTL zun chst die Kanalparameter falsch definiert wurden Der Server informiert den Client auch dar ber in der Antwort und die Session bleibt weiterhin erhalten somit kann mit einer weiteren PLAY Anfrage ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS e WN A 12 KAPITEL 2
24. beschrieben um einen Einblick in die Funktionsweise zu bekommen und der sp teren Implementation besser folgen zu k nnen 3 1 1 Geschichte Im Jahre 2005 wurde die Firma Android Inc von der Google Inc akquiriert Android ist ein quel loffenes System welches auf Linux basiert und f r den Einsatz auf mobilen Ger ten konzipiert wurde Die Entwicklung des Betriebssystems wurde zun chst von Google geleitet bis 2007 die Open Handset Alliance Opeb gegr ndet wurde und daran beteiligt wurde Die Open Handset Alliance OHA war zu Beginn ein Konsortium aus 34 Partnern aus Softwareunternehmen Netz betreibern Mobiltelefonherstellern und hnlichen Unternehmen Heute liegt die Mitgliederanzahl bereits bei 87 Unternehmen Opec Im Jahr 2008 wurde Android in der Version 1 0 als Open Source freigegeben das erste Soft ware Development Kit SDK ver ffentlicht und das erste Android Smartphone auf den Markt gebracht KM12 Heute ist Android bereits in der Version 4 4 erh ltlich und wird noch immer unter der Leitung der OHA weiter entwickelt 15 16 KAPITEL 3 GRUNDLAGEN ANDROID Marktanteile der Betriebssysteme am weltweiten Smartphone Absatz 2010 2013 in 80 000000 I Android MiOS MM BlackBerry Mi Microsoft 70 60 50 40 30 20 10 0 a _ i 1 2 Q3 a Qi QQ Q3 MA a Q2 Q3 Q4 ai 2010 2011 2012 2013 Abbildung 3 1 Marktanteile der Smartphone Betriebssysteme im August 2013 Gar
25. der ConnectTV Plattform in dieser Arbeit Jede Set Top Box kann mit mehreren Benutzerkonten verkn pft werden ConnectTV steuert ber eine zentrale Datenbank die Benutzerverwaltung und somit den Zugriff auf die Set Top Boxen Die Verkn pfung von Box und Nutzerkonto wird als Paarung bezeichnet Es k nnen ber entsprechende Representational State Transfer Services REST Benutzerkonten angelegt und registriert werden Benutzer mit einer Box gepaart und wieder getrennt werden sowie das Ein und Ausloggen mit entsprechenden Sicherheitsabfragen gepr ft werden Jede Anfrage an den Server ist also immer mit einem Nutzerkonto verbunden und beinhaltet daher immer eine bei der Anmeldung generierte Session ID GET WWW BOX_CMD CONTENT CHANNELLIST protocol 1 0 amp sessionId lt sessionID gt HTTP 1 1 HOST lt serverAddr gt lt serverPort gt Listing 2 1 Beispiel einer Anfrage der Senderliste an den Connect TV Server In Listing 2 1 wird der Aufbau einer Request URL beispielhaft dargestellt In diesem Beispiel wurde bereits ber eine vorherige Anmeldung eine sessionID erstellt und an den Client zur ck geliefert Diese ID ist nun innerhalb des Connect TV Systems unmittelbar mit der entsprechenden Box verkn pft Wird wie in diesem Beispiel nun eine Anfrage zur Senderliste der Set Top Box an den Server gestellt so holt dieser sich die n tigen Informationen direkt von der Set Top Box Die Daten werden dabei wie schon erw hnt im XML Format zur c
26. erdem werden die Abspiel Aufnahme und Planer Symbole nicht mehr in jeder Ansicht angezeigt sondern immer nur maximal ein mal pro zusammengefasste Bildschirmansicht Diese Strukturierung der beiden Fragmente nebeneinander wird dadurch erreicht indem man diesen Fragments ein Super Fragment berordnet Dieses Fragment wird anstatt eines der Frag ments der drei Ebenen geladen und bietet zwei weiteren Fragments einen vordefinierten Platz lt LinearLayout xmlns android http schemas android com apk res android xmlns tools http schemas android com tools android layout_width fill_parent android layout_height fill_parent android baselineAligned false android orientation horizontal tools context MainActivity gt lt FrameLayout android id Q id fragment_container_epgi android layout_width fill_parent android layout_height match_parent android layout_weight 2 gt lt ImageView android id id divider android layout_width 2dp android layout_height fill_parent android background android color darker_gray gt lt FrameLayout android id tid fragment_container_epg2 android layout_width fill_parent android layout_height match_parent android layout_weight 1 gt lt LinearLayout gt Listing 6 3 Landscape Layout eines Super Fragments Listing 6 3 zeigt ein XML Layout und Listing 6 4 zeigt die Aufrufe dieser innerhalb eines Super Fragments Zun chst ist zu sagen
27. gibt in seiner Antwort eine Session ID eine Stream ID und weitere Infor mationen zur ck Im Beispiel geschieht dies beim Setup von BBC1 Listing 2 4 zeigt ein Beispiel ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS afk WN BS e wn e V Ne 2 5 SAT gt IP 11 einer SETUP Anfrage SETUP rtsp 192 168 128 5 src 1 amp fe 1 amp freq 12402 amp pol v amp msys dvbs amp sr 27500 amp fec 34 amp pids 0 16 50 104 166 1707 RTSP 1 0 CSeq 1 Transport RTP AVP unicast client_port 1400 1401 Connection close Listing 2 4 Beispiel einer Sat gt IP SETUP Anfrage Play Mit den aus der Antwort der Setup Anfrage erhaltenen Daten wird vom Client eine RTSP PLAY Anfrage gesendet Dieser beinhaltet die ID des gew nschten Streams In der Ant wort Nachricht des Servers befindet sich nun die URL unter welcher der Stream abgerufen werden kann Im Beispiel passiert dies beim Start von BBC1 Da nun bereits ein Setup durchgef hrt wurde und somit eine Stream ID und Session ID an den Client bertragen wurde kann unter Angabe der Parameter eines anderen Kanals auch mittels PLAY Anfrage zu diesem gewechselt werden Im Beispiel passiert dies beim Wechsel zu Channel4 dann zu ARD und sp ter zu RTL Listing 2 5 zeigt ein Beispiel einer PLAY Anfrage PLAY rtsp 192 168 178 57 554 stream 2 RTSP 1 0 CSeq 2 Session 2166e663b4be550 Connection close Listing 2 5 Beispiel einer Sat gt IP PLAY Anfrage
28. gut durchdachte API wird dem Ent wickler einiges an Arbeit erspart und bietet viele M glichkeiten der Anpassung Die Leistung des Testger ts hat f r alle implementierten Funktionen ausgereicht und eine fl ssige Darstellung von Videoinhalten ist auch ber das Netzwerk gut m glich Die verwendeten Protokolle wirken alle gut durchdacht und ausgereift Nur in Bezug auf eine Fehlfunktion und einen noch nicht implementierten Service seitens des ConnectTV Servers m ssen vom Gesamteindruck Abstriche gemacht werden ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS Abbildungsverzeichnis 2 1 2 2 2 3 2 4 2 9 2 6 2 7 3 1 3 2 3 3 3 4 3 9 4 1 4 2 6 1 6 2 6 3 6 4 6 5 6 6 6 7 6 8 6 9 6 10 6 11 6 12 7 1 Set Top Box des Modells Altech SetOne Genius HD ALT 4 Schematischer Aufbau der ConnectTV Architektur Disb 5 UPnP Architektur UP N0S sean Di Pa a ek alta ad 7 bersicht zur Signalverteilung via Sat gt IP in Anlehnung an SESa 9 Sat gt IP Architektur SESb ae a e tada bo eed 10 Sat gt IP Medien Stream Steuerung SES13 lt 12 HTTP Live Streaming Konfiguration App lt lt lt 13 Marktanteile der Smartphone Betriebssysteme im August 2013 Gar 16 Verbreitung der Android Versionen im August 2013 Wif 17 Android System Architektur Ande uv rw u o ra an de 18
29. hrt wurde Durch die ActionBarSherlock Bibliothek kann allerdings auch diese in dieser Arbeit verwendet werden N heres dazu folgt in den Abschnitten 4 2 und 6 3 Values Im Bereich Values werden unter anderem die Ressourcen string colors oder styles in XML Form abgelegt Die String Ressource sollte f r die Verwaltung aller in der Anwendung vorhandenen Strings verwendet werden Die Verwendung der string xml erm glicht es die Ap plikation sehr simpel in verschiedenen Sprachen bereitzustellen Es wird hierf r eine Default String Datei in der Default Sprache angelegt und f r jede weitere Sprache kann eine weitere String Datei in einem entsprechend standardisiert benanntem Values Ordner angelegt werden Anhand der eingestellten Systemsprache des Ger ts wird dann automatisch die entsprechende Sprachdatei geladen Ist diese Sprache nicht vorhanden wird die Default Sprache verwendet Die verschiedenen Sprachordner werden dabei um den offiziellen ISO Sprachcode erweitert Der Ordner f r eine deutsche Sprachdatei w rde beispielsweise wie folgt aussehen values de ber die Datei colors xml k nnen applikationsweit verwendete Farben gespeichert werden und im Programmcode einfach aufgerufen werden Ein Wechsel einer applikationsweit verwendeten Farbe kann so durch die nderung von nur einer Variabel erreicht werden Die Datei styles xml stellt das entsprechende Pendant f r applikationsweit verwendete Styles grafischer Elemente Dies gibt dem Entwi
30. hrten Action Bar nahe gelegt 29 30 KAPITEL 4 GRUNDLAGEN ANDROID DESIGN RICHTLINIEN Book 1 Title Mahar Book 1 Title Book 2 Title AUTHOR 1 AUTHOR 2 Abbildung 4 1 Navigation innerhalb einer Anwendung Andi Eine konsistente Navigation ist essentiell f r die Verwendung einer Applikation Dabei kommen f r das Zur ckkehren zu vorherig angezeigten Daten die Zur ck Taste des Ger tes zum Einsatz und f r eine hierarchische Navigation die Hoch Taste aus der folgend beschriebenen Action Bar Abbildung 4 1 soll dieses Schema noch einmal verdeutlichen 4 2 Action Bar Eine Action Bar ist ein Bildschirmelement welches sich am oberem Bildschirmrand befindet Mit Hilfe einer Action Bar kann die aktuelle Position innerhalb einer Applikation vermerkt werden die Navigation erleichtert werden und es k nnen h ufig verwendete Aktionen in den Vordergrund gestellt und schnell erreichbar gemacht werden Die Action Bar soll dem Benutzer ein Interface bieten welches er aus anderen Applikationen bereits kennt und somit die Handhabung erleichtern ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 4 3 LAYOUT UND GESTEN 31 Abbildung 4 2 Design einer Action Bar Anda soll Abbildung 4 2 zeigt das Design einer Action Bar und wie sie in einer Anwendung eingesetzt werden kann 1 Im linkem Bereich wird im Normalfall das Icon der Applikation sowie die berschrift der aktuellen Position
31. innerhalb der Anwendung angezeigt Durch Ber hrung der berschrift sollte entweder ber ein Dropdown Men eine schnelle Navigation zu einer anderen Positi on oder das Zur ckkehren zur vorherigen Ansicht erm glicht werden Bei letzterem sollte dies zus tzlich durch einen kleinen Pfeil links des Icons der sogenannten Hoch Taste ge kennzeichnet werden 2 Im mittlerem Bereich k nnen je nach Gr e des Bildschirms einige h ufig verwendete wich tige oder typische Optionen mittels Icons bereitgestellt werden Die Anzahl der Icons wird dabei automatisch ber eine Priorit tenliste durch das Betriebssystem an die Bildschirm gr e angepasst Platz bedingt nicht mehr passende Icons werden dabei in den dritten Bereich verschoben 3 Am rechtem Rand werden weitere Optionen ber ein Optionsmen angezeigt Hier k nnen nicht so wichtige beziehungsweise nicht so h ufig verwendete Aktionen untergebracht wer den sowie die verschriftlichte Version der aus Platzgr nden nicht mehr passenden Icons des mittlerem Bereich 4 3 Layout und Gesten Das Layout einer Anwendung sollte sich immer an die Gr e des verwendeten Bildschirms sowie dessen Orientierung anpassen Der erweiterte Platz eines gr eren Ger tes sollte immer m glichst optimal genutzt werden und im Gegenzug dazu sollte ein kleinerer Bildschirm nicht mit zu vielen Informationen berflutet werden und so un bersichtlich erscheinen Durch Android Fragments bietet sich dem Entwickle
32. n tzlich bewertet Bis auf einen Set Top Box erfahrenen Probanden Proband 4 und ein im allge meinen begeisterter Nutzer Proband 8 bestand in diesem Bereich ansonsten keinerlei Interesse Das aktuelle Bild auf einem Android Ger t anzusehen erschien der Mehrzahl der Probanden auch eher als uninteressant da diese Funktion nur im Heimnetz zur Verf gung steht Nur die Probanden 4 und 8 sowie ein Tablet Besitzer waren dieser Funktion gegen ber offen Auch bei der Frage nach Verwendung der virtuellen oder mitgelieferten Fernbedienung traten sehr unterschiedliche Meinungen zutage Jeweils etwa 50 der Probanden w rden das Andro id Ger t als Fernbedienung verwenden da sie dieses immer zur Hand haben Der andere Teil w rde die Hardware Fernbedienung nutzen da diese ertastbare Kn pfe besitzt und somit eine Verwendung ohne Betrachtung der Fernbedienung m glich sei ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 74 KAPITEL 7 EVALUATION 7 7 Abschlie ende Eindr cke Im Allgemeinen erscheint die Entwicklung der Applikation gut gel st Die Probanden waren sehr zufrieden mit dem Funktionsumfang und der Anwendung an sich Nur in einigen Bereichen sind noch Probleme aufgetreten welche eventuell eine Anpassung ben tigen und im folgendem Abschnitt noch weiter betrachtet werden sollen Die Anpassung der Ansicht an die Orientierung des Android Ger ts hat gro e Zustimmung gefunden und die Navigation un
33. sein Die Fernbedienung soll dabei auch entfernt einsetzbar sein Die Kommunikation erfolgt auch hier ber den Connect TV Server e Durch den Connect TV Server wird ebenfalls ein EPG Electronic Program Guide bereit gestellt Das Programm der einzelnen Sender sowie Informationen zu den bertragungen sollen bersichtlich und dennoch detailliert berall abrufbar sein 37 38 KAPITEL 6 IMPLEMENTATION HTTP Android Ger t connectTV Server Abbildung 6 1 bersicht ber die Kommunikation der Ger te e Mit Hilfe der Applikation soll dem Nutzer die M glichkeit geboten werden von berall die Programmierungen der Set Top Box Aufnahmen zu organisieren Es sollen Aufzeichnungen geplant berpr ft und gel scht werden k nnen Diese Funktion wird ebenfalls ber den Connect TV Server abgewickelt e ber die Applikation sollen die zuvor aufgezeichneten Sendungen im Heimnetzwerk be trachtet werden k nnen Hierf r verf gt die Set Top Box ber einen UPnP Medien Server In der Android Applikation soll daraufhin ein entsprechender Client implementiert werden Diese Verbindung wird direkt zwischen den beiden Ger ten hergestellt e Die Aufzeichnungen sollen ebenfalls entfernt abrufbar sein F r diesen Fall verf gt die Set Top Box ber einen Encoder welcher die Aufzeichnung f r das HTTP Live Streaming vorbereitet Daraufhin wird es nach dem in Kapitel 2 6 beschriebenen Prinzip an die An droid Applikation ber
34. seinem Termin zu sp t dann gef llt seiner Kundin die erste Immobilie berhaupt nicht Kann der junge Makler das Ruder noch einmal herumrei en Auf Streife 27 02 14 00 15 00 DIGITAL BSET ONE a Planerliste b Planerinformation c Planerliste und informationen Abbildung 6 7 Ansichten der Planerbildschirme zweite Fragment kann daraufhin geladen werden Die Fragmente sind unabh ngig voneinander verwendbar Sobald im ersten Fragment ein Eintrag ausgew hlt wird wird jedoch im zweiten entsprechend der Inhalt angepasst 6 4 4 Planer Im weiteren Verlauf der Bildschirmansichten wird keine weitere Sektionierung des Kapitels vor genommen sondern im Allgemeinen auf diese eingegangen Es wird so vorgegangen da die An sichten sich in vielen Punkten hneln und weitestgehend die gleichen Techniken zum Einsatz kommen Die Planer Ansicht zeigt eine Liste der geplanten Aufnahmen an Diese ist nach der Uhrzeit der Sendestarts sortiert und bietet eine einfache M glichkeit die geplanten Aufnahmen zu organisie ren sich noch einmal detaillierte Informationen der Sendungen einzuholen oder die Aufnahme abzubrechen Die Ansichten des Planers sind auf den Abbildungen 6 7 a b und c zu sehen Hier gibt es zwei Ebenen die Liste aller Planerelemente a sowie die detaillierten Informationen eines Elements b So ist es m glich in einer einzigen Landscape Ansicht c beide Ebenen zu vereinen und bersichtlich anzuzeigen
35. verk rzen Die Verwendung der Entwicklungsumgebung Eclipse mit eingebundenem Android Development Tool hat die Arbeit ebenfalls in vielerlei Hinsicht vereinfacht Durch die Entwicklungsumgebung wurde die standardisierte Struktur des Android Projekts bereits bei der Erstellung automatisch umgesetzt So waren alle ben tigten Ordner in den Ressourcen voreingestellt die Unterst tzungs bibliothek f r Android eingebunden und die Grundvoraussetzungen einer Applikation bereits im Vorfeld erf llt Au erdem ist die Android API bereits integriert und die Verwendung aller Andro id spezifischen Klassen und Methoden war ohne weiteres m glich Diese wurde zudem durch die integrierte Autovervollst ndigung enorm erleichtert Auch das Debugging Tool innerhalb der An droid Development Tools ist gut strukturiert und zur Diagnostizierung von Fehlern sehr hilfreich Der Entwickler kann m gliche Fehler leichter lokalisieren indem er den Programmcode Schritt f r Schritt berpr fen kann Dies wird zus tzlich durch den Zugriff auf den Programmheap und die 77 78 KAPITEL 8 FAZIT unterschiedlichen Threads unterst tzt Au erdem kann der Entwickler sich zu jeder Zeit ber das sogenannte Logging Informationen zum aktuellen Programmverlauf oder Variablenwerte ber die Konsole ausgeben Die Android API stellt insgesamt eine gute Unterst tzung f r verschiedene Bildschirmgr en und ausrichtungen bereit Zum einen bietet sich die M glichkeit innerhalb
36. 01 22 45 23 05 beim WDR Lindenstra e 1465 SET ONE a Aufnahmeliste b Aufnahmeinformation c Aufnahmeliste und informationen Abbildung 6 8 Ansichten der Aufnahmebildschirme passung des Layouts an den Landscape Modus simultan zu den EPG Ansichten anzusehen und wird auf gleiche Art und Weise verarbeitet und gestaltet So wird auch hier die Datenhaltung durch das Model persistent gehalten Dem Nutzer wird wie aus der EPG Ansicht bekannt ber Schaltfl chen innerhalb der Listenele mente die M glichkeit geboten mit den einzelnen Listenelementen zu interagieren Es wird ber ein aussagekr ftiges Symbol verdeutlicht dass das Element ber diese Schaltfl che gel scht wer den kann Beim Dr cken dieser Schaltfl che wird das Element nicht direkt gel scht respektive wird ein Dialog angezeigt welcher den Nutzer um eine Best tigung dieser Aktion bittet Mittels dieser zwei gerade aufgef hrten Punkte wird ebenfalls versucht die Applikation den An droid Design Richtlinien entsprechend zu gestalten Zum einen werden aussagekr ftige und aus anderen gebieten bekannte Symbole verwendet um so die Zug nglichkeit und Kompatibilit t zu verbessern Zum anderem wird f r Aktionen mit kritischen Folgen hier das L schen einer geplanten Aufnahme ber einen unmissverst ndlichen Dialog eine Best tigung angefordert Au erdem wird auch hier eine erleichterte Navigation durch das Speichern der Scroll Position innerhalb der Planerliste
37. 3 1 2 Verbreitung Android ist ein Betriebssystem welches haupts chlich auf mobilen Ger ten wie Smartpho nes Tablets oder Laptops zum Einsatz kommt Es wird aber auch bereits als Grundlage f r SmartTVs Phi und in naher Zukunft auch in Fahrzeugen Opea in Anspruch genommen Neben Android sind die gr ten Smartphone Betriebssystem Vertreter iOS von Apple Inc und die von Blackberry oder Microsoft entwickelten Plattformen Wie jedoch Abbildung 3 1 zu ent nehmen ist kann nur Android sich richtig am Markt etablieren und weiter verbreiten Microsoft und Blackberry verlieren immer mehr Anteile einzig iOS kann die Marktanteile von gut 20 halten Smartphones mit Android haben jedoch den Markt regelrecht berflutet und sind in den letzten drei Jahren von 10 bis auf ber 70 gestiegen Dies unterstreicht den heutigen Stel lenwert von Android und erkl rt auch warum Hersteller vermehrt auf Android setzen und diese Arbeit ebenfalls f r Android entwickelt werden soll Wie bereits erw hnt ist die Entwicklung von Android bereits bei der Version 4 4 angelangt Da der Beginn dieser Arbeit jedoch mit Anfang September datiert ist wird immer auf die Zah len vom August 2013 als Grundlage von Entscheidungen verwiesen Zu diesem Zeitpunkt war der Entwicklungsstand die Android Version 4 2 alias Jelly Bean Aus den Statistiken in Abbil dung 3 2 ist zu entnehmen dass bei weitem nicht alle Ger te mit der neusten Android Version ausgestattet sind Di
38. 3 4 5 Anstrengung Wie hart musstest du arbeiten um deinen Grad an Aufgabenerf llung zu erreichen gering hoch 1 2 3 4 5 Frustration Wie unsicher entmutigt irritiert gestresst und ver rgert versus sicher best tigt zufrieden und entspannt f hltest du dich w hrend der Aufgabe gering hoch 1 2 3 4 5 ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 96 ANHANG A UNTERLAGEN ZUR EVALUATION Test Nr Datum Szenario 2 Planen einer Aufnahme Geistige Anforderung Wie hoch war die geistige Anstrengung bei der Bearbeitung der Aufgabe gering hoch 1 2 3 4 5 K rperliche Anforderung Wie hoch war die k rperliche Anstrengung bei der Bearbeitung der Aufgabe gering hoch 1 2 3 4 5 Zeitliche Anforderung Wie empfandst du den Zeitaufwand beim Bearbeiten der Aufgabe gering hoch 1 2 3 4 5 Ausf hrung der Aufgaben Wie erfolgreich hast du deiner Meinung nach die vom Versuchsleiter gesetzten Ziele erreicht Wie zufrieden warst du bei deiner Leistung bei der Verfolgung deiner Ziele gut schlecht 1 2 3 4 5 Anstrengung Wie hart musstest du arbeiten um deinen Grad an Aufgabenerf llung zu erreichen gering hoch 1 2 3 4 5 Frustration Wie unsiche
39. ACLEAN Dave Pro Android 4 Apress 2012 ISBN 978 1 4302 3930 7 KUNNETH Thomas Android 4 Apps entwickeln mit dem Android SDK Galileo Press 2012 ISBN 978 3 8362 1948 8 MEDNIEKS Zigurd DORNIN Laird MEIKE G B NAKAMURA Masumi Pro gramming Android O Reilly 2012 ISBN 978 1 449 31664 8 MEIER Reto Professional Android 4 Application Development John Wiley amp Sons Inc 2012 ISBN 978 1 118 10227 5 MX PLAYER API Intent definition https sites google com site mxvpen api Abruf Januar 2014 OPEN AUTOMOTIVE ALLIANCE Introducing the Open Automotive Alliance http www openautoalliance net about Abruf Januar 2014 OPEN HANDSET ALLIANCE About http www openhandsetalliance com Ab ruf Januar 2014 OPEN HANDSET ALLIANCE Members http www openhandsetalliance com oha_members html Abruf Januar 2014 PHILIPS TP Vision k ndigt Philips Fernseher powered byAndroid an http www newscenter philips com de_de standard news consumerlifestyle 20140106_TPVision_kuendigt_Philips_Fernseher_poweredby_Android_an wpd Ut5YZBCIXIU Abruf Januar 2014 SES S A SAT gt IP Network http www satip info Abruf Januar 2014 SES S A SAT gt IP Physical layer independent satellite distribution to IP de vices http www satip info sites satip files files satip white paper pdf Abruf Januar 2014 SES S A SES unveils IP based in home distribution of satellite TV signals http w
40. AGEN PVR SYSTEM Abbildung 2 1 Set Top Box des Modells Altech SetOne Genius HD ALT abzuspeichern und f r die sp tere Betrachtung bereitzustellen Au erdem erm glicht sie das so genannte Time Shift welches zeitversetztes Fernsehen erm glicht Da letztere Funktion in dieser Arbeit allerdings keine Rolle spielt wird sie nicht weiter betrachtet Das Bereitstellen der auf gezeichneten Videos ist allerdings von Bedeutung da auch das Smartphone beziehungsweise das Tablet diese Videodateien wiedergeben k nnen sollen Die Set Top Box ist netzwerkf hig und kann mittels eines RJ 45 Netzwerkanschlusses an das lokale Netzwerk und mit Hilfe eines Routers mit dem Internet verbunden werden ber diese Schnittstelle kann die Box als Client die Kommunikation mit dem Connect TV Server aufnehmen und Daten austauschen Wie dies vonstatten geht wird in Abschnitt 2 3 genauer betrachtet Au erdem ist ein Sat gt IP Server zum verteilen des aktuellen Programms eines Senders und ein UPnP Media Server zur Wiedergabe von abgelegten Mediendateien im lokalem Netzwerk implementiert Zudem verf gt die Set Top Box ber einen Transcoder welcher die Videodateien in verschiedene Formate Aufl sungen und Gr en transkodieren kann Dadurch ist die Box ebenfalls in der Lage die erstellten Videodateien mit Hilfe von HTTP Live Streaming ber das Internet in angepasster Aufl sung an die verbundenen Clients zu verteilen 2 3 ConnectTV Connect TV ist ei
41. Abmelden Registrieren oder Fortf hren der aktuellen ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 44 KAPITEL 6 IMPLEMENTATION SET ONE SET ONE Username Password Continue GENIUS HD GENIUS HD Remote App Remote App a Unangemeldet b Angemeldet Abbildung 6 4 Ansichten des Anmeldebildschirms Session aus irgendwelchen Gr nden nicht m glich werden dem Nutzer ber angezeigte Benach richtigungen in Android sogenannte Toasts der m gliche Grund daf r mitgeteilt Beispielsweise wird bei der Eingabe eines nicht zum Nutzer geh rigen Passworts dies entsprechend mit einer kurzen Meldung angezeigt Oder falls es Verbindungsprobleme mit dem Server geben sollte wird dies ebenfalls entsprechend angemerkt und der Nutzer gleichzeitig dazu aufgefordert seine Netz werkverbindung zu berpr fen Diese Benachrichtigungen entsprechen dabei immer den Android Design Richtlinien Au erdem wird dementsprechend w hrend einer Serveranfrage eine Benach richtigung inklusive Ladeanzeige eingeblendet sodass der Nutzer Feedback dazu erh lt dass im Hintergrund etwas passiert und die Applikation weiterarbeitet Ist der Nutzer angemeldet wird er auf den Hauptbildschirm weitergeleitet 6 4 2 Hauptbildschirm Der Hauptbildschirm ist im Grunde genommen nur eine H lle f r die gleich folgenden EPG Planer und Aufnahmeansichten Denn diese Ansichten werden als Fragmente in den Hauptbild sc
42. Abspielen dieser Datei wurde allerdings der UPnP Medienserver verwendet und somit die direkte Verbindung zur Set Top Box hergestellt Das UPnP Protokoll wurde dennoch als Grundlage f r das Sat gt IP Protokoll verwendet und dort erfolgreich umgesetzt Das Protokoll ist gut zu verwenden und klar gegliedert Die Funktionen der verwendeten Ger te waren dabei immer ohne Probleme anzusteuern und zu jeder Zeit ver ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 79 f gbar Auch in Bezug auf die Verwendung von Sat gt IP muss die DiscVision GmbH hier jedoch noch nacharbeiten Durch den Connect T V Server sollten die f r die Erstellung eines Streams ben tigten Daten wie Frequenz oder Polarisation bereitgestellt werden Doch dies ist bis zum Abschluss der Arbeit leider nicht umgesetzt worden Eine geeignete kostenlose Alternative wurde nicht gefunden Die Sat gt IP Funktion ist in der Applikation allerdings funktionsf hig Bei Aufruf dieser Funktion werden feste Parameter bergeben sodass immer der gleiche Sender abgespielt wird Dies ist f r die Marktreife der Applikation zwar nicht sinnvoll zeigt aber das diese Funktion korrekt umgesetzt wurde F r die Einf hrung der Applikation in den Markt m ssten somit noch die zwei genannten Probleme gel st werden Im Allgemeinen ist zu sagen dass die Implementierung von Android Applikationen auch f r verschiedene Displaygr en sehr ausgereift ist Durch die
43. Ansteuerung durch Tabs verzichtet stattdessen wird der Name der aktuellen Ansicht innerhalb der Action Bar eingeblendet Abbildung 6 12 zeigt eine bersicht der verschiedenen Ansichten Die Fernbedienung ist nicht wie im Prototyp zu sehen ber einen weiteren Tab im Hauptbild schirm zu erreichen sondern aus mehreren Gr nden ber einen Men eintrag Zum einen wurde darauf verzichtet weil eine Trennung der Organisation der Set Top Box und die einfache Bedie nung durch die Fernbedienung durchaus sinnvoll ist F r den Nutzer sind dies zwei verschiedene Anwendungsgebiete und durch die Trennung erlangt dieser eine bessere bersicht in den Teilbe reichen Zumeist wird der Nutzer diese beiden Anwendungsbereiche nicht simultan nutzen sodass ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 58 KAPITEL 6 IMPLEMENTATION 3 Navigation E control Mediaplayer BACKWARD FORWARD ADIGITAL BSET ONE l ADIGITAL gt gt E i a Navigation b Grundbedienung c Nummernfeld d Mediensteuerung Abbildung 6 12 Ansichten der Fernbedienung eine Trennung Sinn macht Au erdem ist eine Navigation innerhalb der Fernbedienungsansichten nun durch wischen m glich W re die Fernbedienung bereits im Hauptbildschirm durch Wischen erreichbar h tte die Navigation innerhalb der Fernbedienung anders organisiert werden m ssen da die Wisch Geste bereits vergeben w re Die Anwendung kann die
44. Dialogformen und Benachrichtigungen wurden von allen Probanden als sehr gut verst ndlich und hilfreich eingestuft Die in der Action Bar integrierte Hoch Taste wurde nur von einem erfahrenem Probanden verwendet Alle anderen Probanden haben ausschlie lich die altbekannten Zur ck Taste verwendet Dies deutet darauf hin dass der Bekanntheitsgrad dieser Taste bei normalen Nutzern noch nicht sehr hoch ist oder dass diese Taste aus anderen Gr nden gemieden wird Ein Beispiel w re die Bequemlichkeit da die Zur ck Taste wesentlich leichter mit dem Daumen erreichbar ist als die Hoch Taste Der Funktionsumfang und deren allgemeine Meinung zur Anwendung wurde von allen Proban den als sehr gut bewertet Des weiteren gaben alle Probanden an die Bedienung der Applikation bei weiterer Verwendung definitiv schneller und einfacher erledigen zu k nnen und die Funkti onsweise nach erstmaliger Anwendung klar war Dies deutet auf eine steile Lernkurve innerhalb der Anwendung hin was ebenfalls positiv zu bewerten ist Zum Schluss wird eine Verwendung der Applikation durch die Probanden genauer betrachtet Hier herrscht durchweg eine gespaltene Meinung Sowohl die Auswertung der spontanen Auf zeichnen einer Sendung diese auf dem Android Ger t anzuschauen sowie das aktuelle Programm auf diesem wiederzugeben weisen eine hohe Standardabweichung auf Die beiden zuerst genann ten Funktionen wurden dabei nur von weiblichen beziehungsweise den j ngeren Probanden als
45. EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 18 KAPITEL 3 GRUNDLAGEN ANDROID APPLICATIONS Home Phone APPLICATION FRAMEWORK Window Content ctivity Manager A Y ag Manager Providers Telephony Resource Location Notification Manager Manager Manager Manager Package Manager LIBRARIES ANDROID RUNTIME Surface Manager Media SQLite Core Libraries Framework OpenGL ES FreeType WebKit M M gt z SGL SSL LINUX KERNEL Display Drives Camera Driver Flash Memory Binder IPC Driver Driver Audio owe Keypad Driver WiFi Driver Ft ER Abbildung 3 3 Android System Architektur Ande ken welche die Vorraussetzung schaffen Medien abzuspielen SQLite Datenbanken zu verwalten OpenGL Grafik Elemente darzustellen oder auch die Bildschirmsteuerung zu erm glichen Die Android Runtime ist der Java Runtime hnlich unterscheidet sich allerdings in wichtigen Details Android Anwendungen werden ebenfalls nativ in Java geschrieben werden aber von der Dalvik Virtual Machine verarbeitet Diese ist anders als die Java VM eine Registermaschine wurde speziell f r Android entwickelt und ist unter anderem auf minimalen Speicherverbrauch und ef fiziente Ausf hrbarkeit von mehrere virtuellen Maschinen optimiert K n12 Die Java Dateien werden zun chst wie gew hnlich in Bytecode jedoch anschlie end in ein eigens entwickeltes dex Format umgewandelt Au erdem bieten die Core Libraries viele
46. Funktionen und Klasssen aus Java aber auch einige explizit f r Android optimierte Methoden Application Framework Das Application Framework ist der Teil den der Entwickler wirk lich zu sehen bekommt und benutzt Es stellt ber eine gute API Funktionen und Klassen zur Verf gung um einfachen Zugriff auf die Hardware des Ger ts zu haben Au erdem k nnen ber das Framework die Komponenten und deren Funktionen erstellt und bearbeitet werden welche im Abschnitt 3 3 genauer beschrieben werden Ein wichtiges Konzept dabei ist die Bereitstellung von Funktionen einer Applikation f r andere Applikationen So kann zum Beispiel eine eigene Applikation ohne gro en Aufwand den Browser E Mail Client oder Media Player einer anderen Applikation verwenden K n12 Applications Die n chste und letzte Schicht sind die gerade schon erw hnten Applikationen selbst Diese sind die Anwendungen welche der Benutzer auf seinem mobilem Endger t sieht ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 3 3 KOMPONENTEN 19 und mit denen er interagieren kann Als Beispiele k nnen hier der Browser ein Musik Player oder auch die Telefonfunktion angef hrt werden In dieser Arbeit wird eine solche Applikation f r den Endnutzer entwickelt 3 3 Komponenten In dieser Sektion werden einige Komponenten des Application Frameworks vorgestellt Es handelt sich dabei nicht um alle Komponenten sondern nur um einige der Bere
47. Hardware Fernbedienung vollkommen ersetzen da alle Tasten der mitgelieferten Fernbedienung auch in der Applikation verf gbar sind Die Tasten sind in vier Bereiche aufgeteilt Dabei wird nicht nur eine erh hte bersicht gew hrleistet sondern es wurde auch versucht die Fernbedienungselemente sinnvoll zu strukturieren Es wurde eine Ansicht f r die Bedienung des Men s und die oft verwendeten Funktionen a eine f r die Grundfunktionen b wie umschalten und regeln der Lautst rke eine f r die direkte Eingabe der Zahlen c und eine nur f r die Bedienung des integrierten Media Players d erstellt Die Fernbedienung besteht aus einer eigenen Activity Diese besitzt wie auch schon der Haupt bildschirm einen FragmentPager welcher die vier Ansichten der Fernbedienung nebeneinander verwaltet Die Titel der einzelnen Ansichten werden in der Action Bar angezeigt Zur Bestim mung der aktuellen Position wird auch hier ein Listener an den FragmentPagerAdapter gehangen und so auf die Seitenwechsel reagiert Innerhalb der verschiedenen Layouts wird jeder Schaltfl che eine ID zugewiesen Wird eine Schaltfl che gedr ckt wird immer die Methode buttonPress innerhalb der Activity aufge rufen Dieser Methode wird auch die ID der Schaltfl che mitgegeben Diese ID wird wiederum in einer switch case Abfrage auf den entsprechenden Tastenbefehl abgebildet und ber den Server an die Box gesendet Jeder Tastendruck wird also einzeln versendet Somit erf hrt
48. NSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS A 5 ERGEBNISSE 107 A 5 Ergebnisse an N a m 00 Ko N No N Ko N N Test Nummer Geschlecht Vorerfahrung mit einem Smartphone Vorerfahrung mit Android Vorerfahrung mit einer STB Effektivit t Effektivit t Effektivit t A e E VER Va OS E PEN a a O EEE ae RE DEE ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 108 ANHANG A UNTERLAGEN ZUR EVALUATION Effektivit t FR 0 2 5 X g m Effektivit t ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS A 5 ERGEBNISSE 109 Standardabweichung Mittelwert E 5 E ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 110 ANHANG A UNTERLAGEN ZUR EVALUATION ION ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS A 6 PROBLEME UND VORSCHL GE 111 A 6 Probleme und Vorschl ge Probleme Problem H ufigkeit Fernbedienung nur die erste Ansicht gefunden 8 Planen zun chst im Planer gesucht Login Textfeld nicht markiert Name EPG ist unklar Icons nicht klar erkennbar N w ui YJ Vorschl ge Vorschlag H ufigkeit Fernbedienung mit Tabs oder Indikator versehen Fernbedienung mit Grundbedienung Ansicht starten Planen im Planer erm glichen EPG in Programm umbenennen
49. PGFragmentSenderliste EPGFragmentChannelList newInstance getActivity FragmentTransaction transaction getFragmentManager beginTransaction transaction replace R id fragment_container_epgi mEPGFragmentSenderliste commit return root Override public void onActivityCreated Bundle savedInstanceState super onActivityCreated savedInstanceState adapt view if in landscape mode View epgDataFrame getActivity findViewById R id fragment_container_epg2 Model getInstance setDualPane epgDataFrame null amp amp epgDataFrame getVisibility View VISIBLE if Model getInstance isDualPane Y Model getInstance setEpgFirstScreen true EPGFragmentEPGList mEPGFragmentSenderEPG EPGFragmentEPGList newInstance 0 FragmentTransaction transaction getFragmentManager beginTransaction transaction replace R id fragment_container_epg2 mEPGFragmentSenderEPG commit Listing 6 4 Layout Anpassung an die Orientierung W hrend das Layout des Landscape Modes zwei FrameLayouts beinhaltet beinhaltet das hier nicht aufgef hrte Portrait Layout nur eines und somit wird dort auch keine Abtrennung ben tigt Das Layout besitzt dabei die gleiche ID wie das erste FrameLayout im Landscape Ordner In nerhalb des Super Fragments siehe Listing 6 4 wird in der Methode onCreateView in Zeile 3 das Layout geladen Das Android Ger t w hlt automatisch anhand der aktuellen Orientierung das ben tig
50. PLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 98 ANHANG A UNTERLAGEN ZUR EVALUATION Test Nr Datum Szenario 4 L schen einer Aufnahme Geistige Anforderung Wie hoch war die geistige Anstrengung bei der Bearbeitung der Aufgabe gering hoch 1 2 3 4 5 K rperliche Anforderung Wie hoch war die k rperliche Anstrengung bei der Bearbeitung der Aufgabe gering hoch 1 2 3 4 5 Zeitliche Anforderung Wie empfandst du den Zeitaufwand beim Bearbeiten der Aufgabe gering hoch 1 2 3 4 5 Ausf hrung der Aufgaben Wie erfolgreich hast du deiner Meinung nach die vom Versuchsleiter gesetzten Ziele erreicht Wie zufrieden warst du bei deiner Leistung bei der Verfolgung deiner Ziele gut schlecht 1 2 3 4 5 Anstrengung Wie hart musstest du arbeiten um deinen Grad an Aufgabenerf llung zu erreichen gering hoch 1 2 3 4 5 Frustration Wie unsicher entmutigt irritiert gestresst und ver rgert versus sicher best tigt zufrieden und entspannt f hltest du dich w hrend der Aufgabe gering hoch 1 2 3 4 5 ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS A 3 FRAGEBOGEN 99 Test Nr Datum Szenario 5 Fernbedienung Geistige Anforderung Wie hoch war die geistige Anstrengung bei der Bearbe
51. RUNG UND NUTZUNG EINES PVR SYSTEMS Kapitel 8 Faz t Zusammenfassend l sst sich sagen dass die Zielvorgaben der Arbeit durchaus machbar und auch erreicht worden sind Die Entwicklung der Android Applikation zur lokalen und entfernten Nutzung eines PVR Systems wurde im gew nschtem Umfang umgesetzt und der Usability Test hat zu einer weitestgehend positiven R ckmeldung gef hrt Im Weiterem soll nun diskutiert werden inwiefern die Android API die Unterst tzung von unterschiedlichen Bildschirmgr en erm glicht oder auch erleichtert Es sollen au erdem die verwendeten Werkzeuge zur Entwicklung der Applikation bewertet werden und die Android Design Richtlinien in Bezug auf ihren Nutzen und ihre Anwendung genauer betrachtet werden Zudem sollen die zum Einsatz gekommenen Protokolle des Connect TV Servers UPnP HLS und Sat gt IP in ihrer Verwendbarkeit beurteilt werden Das zur Entwicklung von Prototypen verwendete Werkzeug FluidUl ist sehr hilfreich gewesen Gerade in Bezug auf die Gestaltung der Applikation und die damit zusammenh ngende Ab sprache mit der kooperierenden Firma DiscVision So konnte auf vereinfachte Weise auch eine R cksprache via E Mail gehalten werden indem der Prototyp an den entsprechenden Ansprech partner gesendet wurde Die Erstellung eines Prototypen hat zwar zu mehr Arbeit im Vorfeld der Entwicklung gef hrt konnte aber somit sp tere nderungen an der eigentlichen Applikation vermeiden und den Programmierprozess
52. StrictMode http developer android com reference android os StrictMode html Abruf Januar 2014 Andn ANDROID DEVELOPERS Support Library http developer android com tools support library index html utm_content buffer11f41 amp utm_source buffer amp utm_medium twitter amp utm_campaign Buffer Abruf Januar 2014 Ando ANDROID DEVELOPERS Supporting Different Screens http developer android com training basics supporting devices screens html Abruf Ja nuar 2014 Andp ANDROID DEVELOPERS Tasks and Back Stack http developer android com guide components tasks and back stack html Abruf Januar 2014 Anda ANDROID DEVELOPERS User Interface https developer android com guide topics ui index html Abruf Januar 2014 Andr ANDROID DEVELOPERS Using ViewPager for Screen Slides http developer android com training animation screen slide html Abruf Januar 2014 App APPLE INC HTTP Streaming Architecture https developer apple com library ios documentation NetworkingInternet Conceptual StreamingMediaGuide HTTPStreamingArchitecture HTTPStreamingArchitecture html apple_ref doc uid TP40008332 CH101 SW2 Abruf Januar 2014 Deu06 DEUTSCHES INSTITUT F R NORMUNG E V Ergonomie der Mensch System Interaktion Teil 110 Grunds tze der Dialoggestaltung DIN EN ISO 9241 110 2006 Disa DISCVISION GMBH Company About Disc Vision http discvision de Abruf Januar 2014 Disb DISCVISION GMBH connectTV http
53. TION A 1 Ablaufplan Ablaufplan Vor Eintreffen des Probanden 1 Fenster schlie en 2 TV e Einschalten e Input HDMI 2 ausw hlen 3 Set Top Box e Einschalten e Ton ausschalten e Programmkanal 4 ausw hlen 4 Smartphone e Einschalten e WLAN aktivieren e Applikation ffnen e Vorherige Nutzerdaten entfernen 5 Szenarien Fragebogen und Stift bereitlegen Nach Eintreffen des Probanden 1 T r schlie en 2 Begr ung und Vorstellung 3 M ndliche Einweisung e Worum geht es 1 Masterarbeit Android Applikation geschrieben Bedienung der Set Top Box Set Top Box ist ein Receiver zum TV schauen Set Top Box kann Aufnahmen machen Hat Anschluss an das Internet gt Bedienung mit Smartphone AR E E Getestet wird die Anwendung und nicht wie gut der Proband ist 8 Anonym e Was ist zu tun 1 Teil 1 6 Szenarien Aufgaben 2 Teil 1 Aufgaben so gut wie m glich erf llen und nach jeder Aufgabe Fragebogenteil zur Schwierigkeit der Aufgabe ausf llen Skala 1 5 Bewertung ist gleich bleibend und steht immer dran 3 Teil 2 Zus tzliche Fragen zur Applikation ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS A 1 ABLAUFPLAN 91 e Die Aufgaben immer versuchen eigenst ndig zu erf llen im Fall von Fragen bin ich aber im Raum e Wenn Aufgabenerf llung misslingt dann ist das auch ok und es kann mit n chster weiter gemacht werden 4 Fragebogen noch einmal kurz zeigen und Reihenfo
54. UNIVERSITAT L SOSNABRUCK INSTITUT F R INFORMATIK AG MEDIENINFORMATIK Masterarbeit Entwicklung einer Android Applikation zur Fernsteuerung und Nutzung eines PVR Systems Sebastian Bruns M rz 2014 Erstgutachter Prof Dr Oliver Vornberger Zweitgutachter Reinhard L ling Abstract Im Rahmen dieser Arbeit soll eine Anwendung f r Android Ger te entwickelt werden welche die Fernsteuerung und Nutzung eines PVR Systems erm glichen soll Die Anwendung soll in Koope ration mit der auf PVR Systeme spezialisierten Firma DiscVision GmbH entwickelt werden Ein PVR System bietet angeschlossen an einen Fernseher dem Nutzer nicht nur die M glichkeit das aktuelle TV Programm wiederzugeben sondern auch Aufzeichnungen von diesem zu erstellen Dabei kann eine Aufzeichnung direkt gestartet aber auch f r einen gewissen Zeitraum eingeplant werden Die Planung einer Aufnahme wird ber eine elektronische Programmzeitschrift geregelt und verwaltet Mit Hilfe der Applikation soll dem Nutzer die M glichkeit geboten werden diese Funktionen auch auf seinem Android Ger t berall abrufbereit zu haben Somit soll die Applikation aktuelle Programm Informationen abrufen Einstellungen vornehmen das PVR System von berall aus steuern k nnen und sowohl abgelegte als auch Live Videoinhalte wiedergeben k nnen Abgelegte Inhalte sollen dabei im lokalem Netzwerk ber das UPnP Protokoll abrufbar sein und im ent fernten Netzwerk ber HTTP Live Streami
55. VITIES return true catch PackageManager NameNotFoundException e Y return false Listing 6 1 Uberpriifung ob der MX Player installiert ist Ist der Player auf dem Ger t installiert wird das Video automatisch mit diesem abgespielt Ist er nicht installiert kann der Nutzer sich einfach zum Google Play Store weiterleiten lassen und den Player von dort aus installieren Dabei kann wieder direkt ber den packageName die gew nschte Anwendung bergeben werden Die Installation wird dabei ber die installierte Applikation des Google Play Stores angefordert Ist der Google Play Store auf dem Ger t nicht installiert wird der systeminterne Browser auf die entsprechende Internetseite des Stores weitergeleitet siehe Lis ting 6 2 final String packageName com mxtech videoplayer ad try f startActivity new Intent Intent ACTION_VIEW Uri parse market details id packageName catch android content ActivityNotFoundException anfe Y f startActivity new Intent Intent ACTION_VIEW Uri parse http play google com store apps details id packageName Listing 6 2 Starten des Google Play Stores zur Installation des MX Players ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 6 4 BILDSCHIRMANSICHTEN 43 6 4 Bildschirmansichten In den folgenden Sektionen wird ein Blick auf die einzelnen Bildschirmansichten der Applikati on geworfen Dabei soll auf die Umsetzung
56. Wenn eine nicht zul ssige berschnei dung auftritt wird eine entsprechende Antwort an die Applikation zur ckgegeben In der Android Applikation wird dann durch einen Dialog auf die Problematik hingewiesen und ein L sungsvor schlag generiert Dieser Dialog wurde wiederum versucht nach den Android Design Richtlinien zu gestalten In der zweiten und dritten Ebene wird zus tzlich ein Planer Symbol eingeblendet welches als Indikator f r eine geplante Aufzeichnung dient und die folgenden Bedeutungen haben Innerhalb der Senderliste und der Programmdatenliste wird auch die aktuelle Scroll Position der Liste gespeichert Wenn ein Programm ausgew hlt wird und sp ter ber die Zur ck oder Hoch Taste zur Senderliste zur ckgekehrt wird wird die Liste wieder an der Stelle angezeigt wo ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 0 00 NDA PF WN N NV NNNN NN Rs RP Bee Be eee JTAAKRBABNFSOOANTAAAwWNHO 48 KAPITEL 6 IMPLEMENTATION sie auch verlassen wurde Dies bietet dem Nutzer ein besseres Navigationsverhalten und mehr Konsistenz in der Handhabung und entspricht somit ebenfalls den Android Design Richtlinien 6 4 3 4 Layoutanpassung Eine Anpassung des Layouts an den Landscape Modus ist eine weitere Eigenschaft welches die Handhabung und Ubersicht verbessern soll Wie in den Abbildungen 6 6 a und b zu sehen ist werden die einzelnen Ebenen dort strukturiert nebeneinander dargestellt Au
57. aming Genaueres dazu folgt in den Abschnitten 6 7 und 6 8 Um auch eine Persistenz innerhalb der Applikation zu erhalten wird der Aufbau der Bildschir mansicht simultan zu der EPG und der Planer Ansicht gestaltet und es werden die gleichen grafischen Elemente f r gleichartige Aktionen verwendet Zum L schen einer Aufzeichnung wird wieder das aussagekr ftige und bekannte Symbol des M lleimers verwendet und zur Wiedergabe wird wieder die bekannte Abspiel Taste verwendet Die kritische Aktion des L schens muss dabei wieder durch einen Dialog best tigt werden Neben den bekannten Symbolen werden hier noch Icons zur Anzeige der Status verwendet Dabei werden sie jeweils mit der folgenden Bedeutung hinterlegt Aufnahme l uft Aufnahme erfolgreich Aufnahme vom Nutzer abgebrochen Aufnahme aufgrund eines Fehlers fehlgeschlagen a Aufnahme durch Timeshift Funktion und somit nicht abspielbar 6 4 6 Videoplayer Zum Abspielen der Video Dateien wird ein externer Videoplayer verwendet Es wird der in Abschnitt 6 3 2 vorgestellte MX Player verwendet Der Start des Players erfolgt wie in Listing 6 5 zu sehen ber einen Intent ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS hor O O0 WN DAR WN 6 4 BILDSCHIRMANSICHTEN 53 Zun chst wird ein neuer Intent erstellt und die URL welche im String Format vorliegt entspre chend in eine URL geparst Dem Intent werden in Zeile 3 die D
58. ann den Ton ab Szenario 6 Abspielen des aktuellen Programms Starten Sie die Wiedergabe des Senders ProSieben auf dem Smartphone Kehren sie nach einigen Sekunden wieder zur Applikation zur ck ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 94 ANHANG A UNTERLAGEN ZUR EVALUATION A 3 Fragebogen Test Nr Datum Fragebogen Alter _ Geschlecht lie Mannlich ES Weiblich Bitte Stufen sie ihre Vorkenntnisse ein keine Profi Erfahrung mit einem Smartphone Erfahrung mit dem Betriebssystem Android Erfahrung mit Set Top Boxen ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS A 3 FRAGEBOGEN 95 Test Nr Datum Teil 1 Szenario 1 Anmelden Geistige Anforderung Wie hoch war die geistige Anstrengung bei der Bearbeitung der Aufgabe gering hoch 1 2 3 4 5 K rperliche Anforderung Wie hoch war die k rperliche Anstrengung bei der Bearbeitung der Aufgabe gering hoch 1 2 3 4 5 Zeitliche Anforderung Wie empfandst du den Zeitaufwand beim Bearbeiten der Aufgabe gering hoch 1 2 3 4 5 Ausfiihrung der Aufgaben Wie erfolgreich hast du deiner Meinung nach die vom Versuchsleiter gesetzten Ziele erreicht Wie zufrieden warst du bei deiner Leistung bei der Verfolgung deiner Ziele gut schlecht 1 2
59. ategory 100 android showAsAction always android icon drawable action_date android title string action_settings_date gt lt item android id Q id action_settings android orderInCategory 100 android showAsAction never android title string action_settings gt lt menu gt Listing 3 2 Beispiel einer Men beschreibung in XML ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 3 3 KOMPONENTEN 25 In Listing 3 2 wird ein kleines Men beschrieben welches ber zwei Men Items verf gt Wenn dieses in einer Activity geladen wird werden dort ber die Men Taste des Handys diese beiden Men punkte angezeigt Die Titel werden ber das Feld title angegeben In diesem Fall werden die Titel aus der Ressource string geladen auf diese wird im folgenden Abschnitt noch weiter eingegangen Au erdem bekommt jedes Item eine ID um im Quellcode eindeutig ansprechbar zu sein Als weitere optionale Elemente kann die Darstellungsreihenfolge der Men punkte mittels orderInCategory durch eine einfache Wertung angegeben werden Wenn ein Men punkt als Icon dargestellt werden soll kann dies durch das Feld showAsAction eingestellt werden Wenn dies aktiviert ist muss dazu noch ein Icon ausgew hlt werden Das Icon wird im ersten Item ber eine drawable Ressource geladen Ein Icon kann erst ab der Android Version 3 0 dargestellt werden da erst ab dieser Version die sogenannte ActionBar eingef
60. aten und der Typ der Applikation zugeordnet In diesem Fall wird der Typ mit application gesetzt was bedeutet dass der Typ des Empf ngers eine Applikation sein soll Als Extras werden dem Intent zus tzlich der Titel der Datei hinzugef gt und es wird ein Return Result erwartet Das hei t wenn der Player beendet wird wird die onActivityResult Methode der Activity aufgerufen welche den Intent gestar tet hat So kann auf die R ckkehr zur Applikation entsprechend reagiert werden Au erdem wird in den Zeilen 7 9 noch das Extra Headers hinzugef gt welches in diesem Fall genau angibt welche Applikation gestartet werden soll Zum Ende wird mittels der optionalen Methode setPackage noch genauer spezifiziert in wel chem Paket die auszuf hrende Applikation zu finden ist Dies verbessert die Geschwindigkeit der Ausf hrung und erh ht die Sicherheit die richtige Anwendung zu starten Zum Schluss wird die Activity anhand des gerade erstellten und modifizierten Intents gestartet Intent intent new Intent Intent ACTION_VIEW Uri videoUri Uri parse url intent setDataAndType videoUri application x intent putExtra return_result true intent putExtra title Model getInstance getRecordinglist get Model getInstance getChosenRecordingListPosition getName String headers new String 1 User Agent MX Player Caller App 1 0 Extra Header 911 intent putExtra headers headers
61. atus der Set Top Box Es werden aber auch einfache Daten wie der Nutzername oder die aktuelle Session ID zwischengelagert Die Daten werden in der Regel so lange im Speicher gehalten bis die Applikation vollst ndig beendet wird Das hei t dass sie durch den User manuell beendet wurde oder aufgrund von Ar beitsspeichermangel durch das System beendet wurde Au erdem besitzt jeder Datensatz einen Zeitstempel des Ladezeitpunkts Bleibt die Anwendung ber einen gewissen Zeitraum aktiv so dass zum Beispiel die Daten des EPGs veraltet sind werden diese bei Fortsetzung der Anwendung neu geladen Es handelt sich in dieser Arbeit nicht um ein komplett reines Model welches nur die Daten haltung bernimmt sondern es stellt auch einige Methoden zum Abruf von Daten welche nach MVC Richtlinien im Normalfall durch einen Controller gestellt werden w rden So werden unter anderem ber das Model die HTTP Anfragen an den Connect TV Server abgesetzt die Antwor ten angenommen und ber einen Parser weiterverarbeitet Au erdem sind dort auch Methoden zu finden welche in allen Bereichen verf gbar sein m ssen Darunter fallen Methoden zur Netz werkerreichbarkeit oder Set Top Box Konnektivit t Diese wurden im Model implementiert da sie berall abrufbar sein sollen und somit nicht in jeder Klasse neu erstellt werden m ssen ganz nach dem Software Engineering Prinzip Don t repeat yourself Einige Daten sollen in der Anwendung persistent gehalten
62. aubaren Gruppe von 13 Probanden ein Usability Test durchgef hrt Die sowohl m nnlichen als auch weiblichen Probanden sind im Alter von 22 31 Jahren und besitzen dabei teils sehr unterschiedliche Vorkenntnisse Im Folgenden werden der Ablauf des Usability Tests und die Bewertungsmethodik vorgestellt sowie die Ergebnisse pr sentiert 7 1 Ablauf Der Ablauf des Usability Tests wird immer gleich durchgef hrt Um die Integrit t des Tests zu gew hrleisten wurde ein exakter Ablaufplan erstellt welcher bei den Tests mit jedem Probanden Schritt f r Schritt abgehandelt wurde Der Ablaufplan im Anhang zu finden Vor Beginn des Tests wurden einige Vorbereitungen getroffen sodass die Ausgangssituation f r die Probanden immer die gleiche ist Bei Eintreffen der Probanden wurden diese begr t und es wurde ihnen genauer erkl rt worum es bei diesem Softwaretest geht Das Masterarbeitsthema und die Ger te sowie ihre Funktionen wurden kurz vorgestellt Diesem folgte eine kurze Erl uterung zum Ablauf des Tests und der Nachfrage nach weiteren Fragen ihrerseits Dann wurden einige anonyme personenbezogene Daten zu Alter Geschlecht und Vorerfahrungen erfasst und der Test gestartet Der Test selbst ist dabei in zwei Teile gegliedert Im ersten Teil des Tests werden dem Probanden sechs Szenarien vorgestellt welche er schrittweise mittels eines Android Ger ts abarbeiten muss Als Testger t wurde ein Nexus 4 der Marke LG mit der Android Version 4 4 2 verwend
63. b der MX Player installiert ist Ist dies der Fall wird analog zum UPnP ein AsyncTask gestartet welcher das Streaming auf dem Player ansto en soll Zun chst werden Informationen vom Connect TV Server eingeholt ob ein Streamen der Aufzeich nung generell m glich ist Dies ist nicht immer der Fall da die Aufzeichnung zun chst mit Hilfe eines Encoders in andere Formate transkodiert werden muss M glicherweise ist dieser Vorgang zum Abspielzeitpunkt noch nicht abgeschlossen und daher eine Wiedergabe noch nicht ausf hr bar Ist dieser abgeschlossen werden eine ID ein Zeitstempel und weitere Informationen zur zum Datenformat im XML Format zur ckgeliefert Mit Hilfe dieser ID und des Zeitstempels sowie der MAC Adresse der Set Top Box kann ber den Server nun die Bereitstellung eines HTTP Live Streams angefordert werden Die Box liefert daraufhin eine URL unter welcher der Stream abrufbar ist sowie Informationen zur aufgezeich neten Sendung Diese URL wird wiederum ber einen Intent an den MX Player bergeben Die Wiedergabe und die Aufrechterhaltung der Verbindung wird auch hier automatisch vom MX Player geregelt Der Stream selbst wird ber eine direkte Verbindung des Android Ger ts mit der Set Top Box geladen Das Verteilen der Stream Segmente wird dabei ber den in der Set Top Box integrierten Webserver bernommen Auch hier gilt durch das Dr cken der Zur ck Taste innerhalb des MX Players kann wieder zur Applikation zur ckgekehrt
64. bachtung und Befragung der Probanden wurde klar dass ber 50 der Probanden ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 72 KAPITEL 7 EVALUATION zun chst versuchten die Aufnahme im Bereich des Planers zu planen Dabei sind auch erfahrene Nutzer Probanden 1 und 7 auf dieses Problem gesto en Zudem wurde von drei Probanden angemerkt dass das K rzel EPG f r sie vollkommen unbekannt war Erst durch ausprobieren der Funktionen in diesem Bereich wurde ihnen klar was darunter zu verstehen war Als Empfehlung wurde von zwei Probanden vorgeschlagen die Planung einer Aufnahme ber eine Schaltfl che auch im Planer zu erm glichen Au erdem solle das K rzel EPG in ein Wort wie Programm oder Programm bersicht ge ndert werden sodass einem Nutzer die Funktion dieses Bereichs sofort klar ist und er sich so schneller zurechtfinden kann F r eine bessere Anfangs orientierung k nnte ebenfalls ein kleines Tutorial der Funktionen und Bereiche bei Erststart der Applikation aufgerufen werden Szenario 5 Fernbedienung Bei der Verwendung der Fernbedienung sind die gr ten Probleme aufgetreten Dies zeigt gerade die Auswertung der Effektivit t aber auch der Effizienz Weniger als 50 der Probanden konnten das Szenario eigenst ndig vollst ndig l sen Weitere knapp 50 haben bei der Bearbeitung Hilfe ben tigt und dar ber hinaus konnte ein Proband die Ziele des Szenarios nur teilweise l sen Dies
65. ben Es k nnen auch Broadcasts mit Deklarationen von generellen An forderungen an das Androidsystem verschickt werden wie beispielsweise das Abspielen einer Media Datei Alle auf dem System installierten Applikationen erhalten diesen Broadcast und k nnen ihren Dienst um diese Aufgabe zu bew ltigen anbieten Der Nutzer w hlt dann anhand einer Liste die gew nschte Applikation aus KM12 Wenn eine Activity der eigenen Applikation oder eine spezielle Applikation gestartet werden soll wird ein sogenannter expliziter Intent versendet Das Pendant dazu ist der implizite Intent welcher wie der oben beschriebene Broadcast keine spezielle Anwendung sondern irgendeine Anwendung anfordert welche die geforderte Aktion durchf hren kann Andb Au erdem ist es m glich eine Activity zu startet und ein Resultat bei der R ckkehr zur urspr ng lichen Activity anzufordern Dies wird mit Hilfe der Methode startActivityForResult er reicht Um das Resultat der Activity zu erhalten wird die Callback Methode onActivityResult berschrieben und automatisch nach R ckkehr zur urspr nglichen Activity aufgerufen 3 3 3 Tasks Android ist eine Multithreading Plattform das hei t jede Anwendung l uft in einem eigenem Thread Andp Somit ist jede Anwendung f r sich gekapselt und kann bei einem Absturz die anderen laufenden Anwendungen oder auch das Betriebssystem nicht beeinflussen Dies wird auch als sogenannte Sandbox bezeichnet Eine Anwendung wird in
66. bst welchen alle Controlpoints registrieren Ein Controlpoint ver sendet ebenfalls einen Multicast Dieser besteht jedoch aus einer Anfrage an alle normalen Ger te sich bei diesem zu registrieren Listing 2 3 zeigt beispielhaft den Aufbau eines Discovery Multicasts zur Auffindung eines Sat gt IP Servers M SEARCH HTTP 1 1 HOST 239 255 255 250 1900 ST urn ses com device SatIPServer 1 MAN ssdp discover MX 2 Listing 2 3 Discovery Beipiel f r einen Sat gt IP Server Description Die Beschreibung ist via HTTP ber die URL des Ger tes aus dem vorherigem Discovery in Form eines XML Dokumentes abrufbar In dieser Beschreibung sind nun genaue re Informationen zum Hersteller dem Ger t sowie dessen angebotene Dienste enthalten Die Dienste werden ebenfalls in Form von URLs f r das Controlling das Eventing und das Presen ting angeboten F r jeden Dienst wird eine Liste von Kommandos und Aktionen sowie deren Parameter und Antworten zur ckgegeben Control Mit Hilfe der aus der Beschreibung gewonnen Informationen ber die Dienste eines Ger tes k nnen diese nun ber die Steuerung angesprochen werden Steuerungsanfragen werden ebenfalls in Form von XML gestellt und werden ber das Simple Object Access Protocol SOAP bertragen Der Dienst des angesprochenen Ger ts antwortet hnlich eines Funktionsaufrufs auf die Anfragen und passt daraufhin wenn n tig interne Variablen des Dienstes an Event Notification Ein Cont
67. ch Wischen wird ber einen FragmentPagerAdapter geregelt welcher die Wisch Geste erkennt und dementsprechend die Ansichten der von ihm verwalteten Fragmente aufruft Wie man in den Abbildungen 6 6 oder 6 7 c sehen kann wird die Tableiste im Landscape Modus in die Action Bar integriert Bei Platzmangel in der Action Bar werden die einzelnen Tabs zu s tzlich in einem Drop Down Men verwaltet Diese Funktion ist in der Action Bar systemintern integriert und kann bei richtiger Handhabung der Fragmente einfach aktiviert werden Somit wird die Orientierung und Platzvergabe innerhalb der Action Bar automatisch verwaltet 6 4 3 EPG 6 4 3 1 Allgemein Beim Start des Hauptbildschirms erscheint als erstes die EPG Ansicht Laut Android Design Richtlinien sollten zu Beginn der Applikation immer als erstes die am h ufigsten genutzten und somit wichtigsten Informationen angezeigt werden Diese Applikation soll haupts chlich zum Programmieren von Aufnahmen sowie zum Betrachten der TV Programme dienen somit r cken diese Funktionen in den Vordergrund Innerhalb der EPG Ansicht wird es dem Nutzer erm glicht die aktuellen oder auch zu einem gew nschtem Zeitraum laufenden Sendungen einzusehen Der Nutzer hat hier die M glichkeit die Sender und dessen Programme zu durchsuchen sowie sich detaillierte Informationen zu den einzelnen Sendungen einzuholen Au erdem kann er in diesem Bereich Aufnahmen von Sendungen planen oder direkt ins Live Bild eines Senders spri
68. ckler ebenfalls die einfache M glichkeit des Austauschs und der Wiederverwendbarkeit der entsprechenden Elemente KM12 3 3 6 Manifest Das Manifest ist die Basis der gesamten Applikation und muss in jeder Anwendung im Haupt verzeichnis liegen Es ist ebenfalls im XML Format und geh rt nicht zum ausf hrbaren Teil der Applikation sondern beinhaltet eine Beschreibung sowie die Umgebungsparameter der Anwen dung In der Manifest Datei werden die wichtigsten Informationen zur Applikation abgelegt welche das Android System ben tigt Die folgende Liste soll die Inhaltselemente eines Manifests kurz beschreiben MDMN12 e Die Version der Applikation sowie der Name und das verwendete Icon im Betriebssystem e Das Java package welches als einzigartige Identifizierung dient e Alle Komponenten der Applikation wie die Activities und dessen Namen Services oder ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS OoN AUNE NV NN NNNN NN RPP Bee Bee DADORAONR ODJOGAaADNRO 26 KAPITEL 3 GRUNDLAGEN ANDROID Intentfilter welche die zu verarbeitenden Broadcasts bestimmen Die minimal ben tigte Version der Android APT zur Verwendung der Applikation Die ben tigten Rechte der Applikation wie beispielsweise den Zugriff auf das Netzwerk die Kontaktdaten die Kamera etc Die erlaubten Rechte einer anderen Applikation welche die Funktionen der freigegebenen Komponenten dieser Applikation verwende
69. d bersichtlichkeit durch das Design ist in jeder Hinsicht gegeben Die Verwendung der in den Android Design Richtlinien als sehr wichtig dargestellten Action Bar ist nicht in allen Belangen f r die Probanden zufriedenstellend gewesen Die Verwendung der integrierten Hoch Taste wurde nahezu komplett verweigert oder bersehen Die durch die Action Bar geleistete Orientierung durch berschriften Tabs oder Icons wurde allerdings als sehr positiv eingestuft Die Verwendung der Applikation im Alltag wurde von den Probanden vollkommen unterschied lich bewertet Auf der einen Seite war Begeisterung und Enthusiasmus zu vernehmen auf der anderen Seite etwa Gleichg ltigkeit oder Abneigung Dies muss nicht zwangsweise mit der Ap plikation an sich zusammenh ngen sondern kann auch auf den hier angestrebten Einsatzbereich zur ckzuf hren sein Denn nicht jeder Proband ist gleicherma en am Fernsehprogramm der heu tigen Tage interessiert und m chte dieses immer verf gbar haben 7 8 Anpassungen In diesem Abschnitt sollen die aufgrund der Evaluation eingef hrten Anpassungen innerhalb der Applikation vorgestellt werden Es wird erl utert warum einige Vorschl ge der Probanden Anklang und Umsetzung gefunden haben und warum andere Vorschl ge vernachl ssigt wurden Wie in Abbildung 7 1 a zu sehen ist wurde der Text EPG durch Programm ersetzt da die gesamte Applikation auf deutsch gehalten ist und einige Probleme mit dem K rzel aufgetrete
70. dass Android innerhalb der Ressourcen zwei Ordner besitzen kann je einen f r die Portrait und die Landscape Layouts In diesen Ordnern wird f r jede Orientierung ein Super Fragment Layout des gleichen Namens abgelegt Das Layout f r den Landscape Modus ist in Listing 6 3 dargestellt Es beinhaltet innerhalb eines LinearLayouts zwei horizontal nebeneinander angeordnete FrameLayouts Diese bieten jeweils Platz f r ein Fragment und werden durch eine ImageView getrennt welches eine einfache d nne vertikale Linie beinhal ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 25 26 27 28 29 30 31 32 6 4 BILDSCHIRMANSICHTEN 49 tet Durch den Parameter layout_weight in den Zeilen 13 und 25 wird die Gewichtung der einzelnen FrameLayouts angegeben Da der Gewichtung des zweiten FrameLayouts eine doppelt so gro e Priorit t gegeben ist wie der des ersten wird diesem auch doppelt so viel Platz auf dem Bildschirm zugesprochen Diese Zuweisung ist dabei immer abh ngig von der Bildschirmgr e Override public View onCreateView LayoutInflater inflater ViewGroup container Bundle savedInstanceState ViewGroup root ViewGroup inflater inflate R layout fragment_epg_super null clear backstack on rotate view FragmentManager fm getActivity getSupportFragmentManager for int i 0 i lt fm getBackStackEntryCount i fm popBackStack EPGFragmentChannelList mE
71. dem soll die Android API mit ihren Feinheiten f r die Anpassung an verschieden Bildschirmgr en und aufl sungen und ihrer teils automatischen Unterst tzung in diesem Bereich genaustens betrachtet und m glichst effizient angewandt wer den Zum Schluss sollen auch die verwendeten Schnittstellen und Protokolle genauer untersucht werden sowohl in Bezug auf ihre Funktionsweise als auch auf ihre Einfachheit in der Anwendung 6 2 Prototyp mit FluidUI Bevor mit der eigentlichen Implementation der Applikation begonnen wurde wurden mit Hilfe von FluidUI verschiedene Mock Ups der Bildschirmansichten angefertigt Dies wurde stets unter R cksprache mit der DiscVision GmbH getan um die W nsche des Auftraggebers m glichst detailliert erf llen zu k nnen Wie bereits bei der Vorstellung von FluidUI angesprochen wurde ist es mit diesem browserbasiertem Programm auf relativ einfache Art m glich die komplette Android Applikation als interaktiven Prototypen zu gestalten Wie man in Abbildung 6 2 sehen kann stimmt das Design eines solchen Entwurfs mit dem eines m glichen Endprodukts nahezu berein Die in Android verwendbaren Elemente sind fast alle in FluidUI verf gbar und k nnen somit zu einzelnen Ansichten zusammen gesetzt werden Die einzelnen Elemente wurden mit Verlinkungen versehen welche die Interaktion wie im sp teren Programm vorgesehen imitieren So konnten die einzelnen Bildschirmansichten miteinander verkn pft werden und zu einem ge sa
72. der Nutzer sofort Feedback seines Tastendrucks auf seiner Set Top Box Zudem bietet sich dem Nutzer die M glichkeit ein weiteres Feedback ber eine kurze Vibration bei Ber hrung der Schaltfl chen zu erhalten Diese Option kann in den Einstellungen der Anwendung aktiviert werden und wird ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 6 5 MODEL UND DATENHALTUNG 99 persistent gespeichert 6 5 Model und Datenhaltung In diesem Abschnitt soll die allgemeine Datenhaltung innerhalb der Applikation beleuchtet wer den wie das Model der Anwendung aufgebaut ist und welche Funktionen es bernimmt Im Allgemeinen werden die Daten welche vom Server geladen werden innerhalb des Models gelagert Das Model dieser Applikation ist global verf gbar und es wird mittels des Singleton Entwurfs musters sichergestellt dass immer nur eine Instanz dieser Klasse besteht Die Variablen innerhalb des Models werden alle als private deklariert und k nnen nur ber die Model Instanz via Getter und Setter Methoden abgerufen oder gesetzt werden Das Model beinhaltet zum einen feste Daten wie die Serveradresse des Connect TV Servers oder dessen Port Zum Hauptteil stellt es allerdings Variablen welche zur Laufzeit mit Daten gef llt werden Darunter fallen vor allem die Daten des EPGs des Planers und der Aufnahmen wel che in verschachtelten Listen und selbsterstellten Klassen organisiert werden oder Informationen zum St
73. der Programm ID und der Sender ID Diese Informationen k nnen al le aus den im Model gespeicherten Daten der Aufnahmeliste entnommen werden Somit wird nur noch die IP Adresse der Set Top Box der Standard bertragungsport sowie der Name des Datei Systems der Set Top Box ben tigt Diese Informationen sind ebenfalls ber den Connect TV Server bereits im Model vorhanden Also kann die URL der anzufordernden Datei aus den vorhanden Daten zusammengestellt wer den und an den MX Player bergeben werden Die Aufrechterhaltung der Verbindung wird dabei durch den Player automatisch geregelt Der Start des MX Players wurde bereits in Ab schnitt 6 4 6 genauer beschrieben Die bertragung des Streams an das Android Ger t wird hier direkt ber den in der Set Top Box integrierten UPnP Medienserver verwaltet Durch das Dr cken der Zur ck Taste innerhalb des MX Players kann wieder zur Applikation zur ckge kehrt werden und am gleichem Punkt der Anwendung wieder eingestiegen werden an dem diese verlassen wurde um das Video zu starten ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 6 8 HTTP LIVE STREAMING 63 6 8 HTTP Live Streaming Das HTTP Live Streaming wird f r das entfernte Abspielen von gespeicherten Aufzeichnungen verwendet Ist die Set Top Box also nicht im gleichem Netzwerk wird bei Bet tigung der Abspiel Taste im Aufnahmebereich diese Methode verwendet Auch hier wird zun chst berpr ft o
74. der Ressourcen ver schiedene standardisierte Ordner f r die entsprechenden Bildschirmgr en oder ausrichtungen zu erstellen Die f r das verwendete Endger t passenden Ordner werden bei Verwendung der Applikation automatisch vom Android System ausgew hlt Somit erm glicht bereits die Bereit stellung dieser Ordner durch den Entwickler eine Vielzahl von Anpassungen an die Gestaltung der einzelnen Ansichten Zum anderen wird auch die automatische Anpassung von einzelnen Design Elementen sehr gut unterst tzt So k nnen Elemente mit Bildschirmgr enabh ngigen und aufl sungsabh ngigen Variablen versehen werden sodass sich die Gr e dieser Elemente automatisch an die Bildschirmeigenschaften anpasst Zudem ist die Verwendung von verschie denen Sprachdateien sehr gut durchdacht und einfach umzusetzen Es wird auf simple Art und Weise erm glicht eine Applikation in vielen Sprachen anzubieten und diese werden ebenfalls bereits vom Betriebssystem automatisch ausgew hlt Die Android Design Richtlinien machen in vieler Hinsicht Sinn und sind ebenfalls gut durch dacht Die Evaluation der Applikation hat dabei gezeigt welche Elemente dem Nutzer helfen und welche noch nicht den gew nschten Erfolg erzielen Dabei hat sich ergeben dass die Ver wendung der Action Bar in Bezug auf die Navigation und Struktur sehr hilfreich ist Jedoch findet die dort integrierte Hoch Taste f r eine erweiterte Navigation innerhalb der Anwendung kaum Verwendung Die v
75. dung zu erm glichen Unter R cksprache mit der Discvision GmbH ist man zu dem Entschluss gekommen die Anwendung f r die Version 2 3 zu entwickeln So k nnen zum einen ber 95 aller Nutzer die Applikation auf ihrem Android Ger t installieren und verwenden Zum anderen kann in der Entwicklung schon auf viele wichtige Funktionen des Betriebssystems zur ckgegriffen werden Die meisten Optimierungen f r die Verwendung von Tablets und der neuen Design Richtlinien sind allerdings erst ab Version 3 0 verf gbar Andh dies hat zu einigen Problemen gef hrt die allerdings weitestgehend in der Implementation gel st werden konnten 3 2 Architektur In diesem Abschnitt soll die System Architektur von Android anhand des in Abbildung 3 3 dargestellten System Stacks erl utert werden und kurz auf die Besonderheiten der einzelnen Ebenen eingegangen werden Linux Kernel Als Grundlage des Android Systems dient ein Linux Kernel Er liegt in der Version 2 6 vor bis er ab Android 4 x von der Version 3 x ersetzt wird Dieser verwaltet bei spielsweise den Speicher und die Prozesse und ist f r das Energie Management und die Sicherheit zust ndig Au erdem bildet er die Hardwareabstraktionsschicht und ist somit Schnittstelle zu den Ger tetreibern des Systems Mei12 Libraries and Android Runtime Die n chste Schicht wird von einigen Bibliotheken und der Android Laufzeitumgebung gebildet Android beinhaltet eine Reihe von C C Bibliothe ENTWICKLUNG
76. e solche Abfrage oder Best tigung angezeigt werden sollte ist durch die Android Design Richtlinien relativ eindeutig geregelt Eine Best tigung der Aktion sollte in folgenden Situationen eingefordert werden e Die Aktion hat signifikante Konsequenzen Beispiel Unwiderrufliches L schen von Daten Belastung der Kreditkarte e Die Aktion kann leicht versehentlich ausgef hrt werden und hat eventuell unangenehme Folgen Beispiel Die Aktion wird h ufig hintereinander ausgef hrt die Interaktionszone ist sehr nah zu anderen gelegen oder nur sehr klein Hier ist zu beachten dass beispielsweise ein versehentlicher Seitenwechsel im Browser meist keine unangenehmen Folgen hat das L schen eines Datensatzes allerdings schon In folgenden Situationen sollte eine Benachrichtigung erfolgen e Die Aktion kann leicht versehentlich ausgef hrt werden aber es besteht die M glichkeit sie einfach r ckg ngig zu machen Hier sollte zu der Benachrichtigung direkt eine Funktion zur Widerrufung angeboten werden Beispiel Das L schen einer E Mail im Standard Android E Mail Programm ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 4 5 ZUG NGLICHKEIT UND KOMPATIBILIT T 33 e Die ausgef hrte Aktion resultiert nicht in einer direkten visuellen Reaktion Beispiel Das Anmelden ber ein Benutzerkonto ist aus beliebigen Gr nden gescheitert Au erdem ist bei Best tigungsabfragen und Benachrichtigungen da
77. ebssystems in Augenschein genom men Zum Schluss und mit dem l ngstem Teil in den Android Grundlagen werden die in dieser Arbeit zum Einsatz kommenden Android Komponenten vorgestellt Im vierten Kapitel werden dem Leser die Android Design Richtlinien vor Augen gef hrt Dabei wird darauf eingegangen was diese besagen welche Ideen dahinter stehen und wie diese best m glich innerhalb der Applikation umgesetzt werden k nnen Anschlie end werden kurz die verwendeten Werkzeuge und Hilfsmittel vorgestellt Zu diesen ge h ren die browserbasierte Software FluidUI welche f r die Erstellung von Designentw rfen und Prototypen verwendet wurde Au erdem wird die zum Einsatz gekommene Entwicklungsumge bung Eclipse und das f r die Android Entwicklung entworfene Android Development Kit Plugin in einem kurzem berblick dargestellt Im Hauptteil der Arbeit wird die eigentliche Implementation der Anwendung stehen Dabei wer den zu Beginn die umgesetzten Funktionen noch einmal genauer beschrieben und erkl rt Darauf folgt die Vorstellung des mit FluidUl erstellten Prototyps sowie einer hinzugezogenen externen Bibliothek und einer als Media Player verwendeten Applikation In Folge dessen werden anhand der entwickelten Bildschirmansichten der Aufbau der Applikation vorgestellt und die Hintergr n de und Anwendungen genauer erkl rt Im Anschluss daran wird die allgemeine Datenhaltung sowie die Verwendung des eingesetzten Models deutlich gemacht Zudem
78. ee ae Oe eas 57 6 5 Model und Datenhaltung 0 200 000 2002 0008 59 6 0 Manilest aiat ae A A A E A A A 60 6 7 Universal Plug and Play 2 3 2 8 a ae ta a 62 080 HEEP Live Streamine Li E A A Fe ee AAA 63 69 A O RR Wolle 63 Evaluation 67 TE Ablauf an e A AS pre a IA RA arate y 67 7 2 Personenbezogene Daten e 68 ar NASA DS a sirens E E ds Soke a Aea E a a ela e A A 68 GAs Usability Desh x Wire ee ee A A a a 69 75 Auswertungsmethoden 22 22 m En nn nn nn 69 Tolle BEfektivitato ara A ee a tars rn a re 69 19 2 EZEN aa a a eu See 70 5 38 Nutzerzutriedenh it sa c 24 0405 24 ee Beenden 70 76 Befunde und Empfehlungen 2 2 2 CC 22mm nme 70 O Einf hrung 30308 ite lee ts a Be ii eee 70 7 6 2 Befunde der Testszenarien aooaa 71 7 6 3 Befunde durch weiterf hrende Fragen o o 73 7 7 Abschliepende Eindr cke a ee el eed ws a o 74 TS Anpass ncen Aue iae a A rl ASA 74 8 Fazit 77 Abbildungsverzeichnis 81 Listings 83 Literaturverzeichnis 88 A Unterlagen zur Evaluation 89 A Ablaufplan ersehen ae ad ee Ba heed ohh ds 90 A2 Szenarien ond ely kacr Bee A e OR OE SO Riese Bk AeA ee A 92 A EA 21 5 O10 1c Ra un se en A da ae Ba AA 94 AA Anmerkungen A A a A ee RE 104 Ar A near er es 107 A 6 Probleme und Vorschl ge zn a 2u Bd 111 Inhalt der CD 113 Kapitel 1 Einleitung Diese Arbeit besch ftigt sich mit der Implementation und Evaluation einer Android Applikation welc
79. einem Haupt Thread gest artet genau wie auch alle weiteren Komponenten der Applikation im Normalfall diesen Thread verwenden Er wird auch Ul Thread genannt da in diesem auch die Benutzeroberfl che generiert wird Einige Arbeitsschritte ben tigen etwas mehr Zeit wie beispielsweise das Herunterladen eines Bildes oder das Laden von anderen Daten aus dem Speicher Damit die Darstellung der Nut zeroberfl che nicht durch solche Prozesse beeintr chtigt beziehungsweise verlangsamt wird h lt sich Android an den sogenannten StrictMode Andm Dieser soll verhindern dass der Ul Thread durch solche Tasks verlangsamt wird und wirft eine Warnung falls der Ul Thread nicht antwor tet Es ist eine Sicherheitsma nahme um eine fl ssige Benutzerinteraktion zu gew hrleisten Um den UI Thread also nicht zu verlangsamen bietet Android die M glichkeit einen sogenann ten AsyncTask auszuf hren MDMN12 Dieser wird durch den UI Thread gestartet und l uft daraufhin im Hintergrund Sobald der AsyncTask durchlaufen ist wird innerhalb des UI Thread ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS CAN DAF WN eR 22 KAPITEL 3 GRUNDLAGEN ANDROID eine Callback Methode aufgerufen welche die UI entsprechend anpassen kann Listing 3 1 zeigt einen AsyncTask und dessen Aufruf public void onClick View v new DownloadImageTask execute http example com image png private class DownloadImageTask e
80. el sollen kurz die Werkzeuge vorgestellt werden welche zur Programmierung Veranschaulichung und in Vorbereitung der Arbeit verwendeten wurden FluidUI diente dabei zur Prototyp Erstellung einiger Bildschirmansichten und deren Verkn pfung Eclipse wird zur Programmierung der eigentlichen Applikation verwendet 5 1 FluidUI FluidUl ist ein Browser basiertes Werkzeug zur Erstellung von Prototypen Es wurde im Juli 2012 von Dave Kearney und lan Hannigan ver ffentlicht Flua und basiert auf HTML5 Flub Mit FluidUl ist es m glich eine Android Nutzeroberfl che zu erstellen und diese mit Interaktiven Elementen zu versehen Es k nnen mittels Drag and Drop fertige Android UI Elemente ausge w hlt werden und entsprechend im Editor in die einzelnen Bildschirmanzeigen eingef gt werden Die einzeln erstellten Bildschirmanzeigen k nnen miteinander gekoppelt werden und somit kann eine gesamte Android Applikation modelliert werden Mit diesem Werkzeug ist es zudem m glich den erstellten Prototypen direkt auf ein Android Ger t zu laden und dort zu testen Au erdem kann auf die verschiedenen Bildschirmgr en und Eigenschaften von Tablets und Smartphones eingegangen werden Mit Hilfe dieses Werkzeugs wurden in dieser Arbeit verschiedene Mock Ups f r die zu entwickelnde Anwendung modelliert 5 2 Eclipse ADT Plugin Eclipse ist eine Softwareentwicklungsumgebung IDE welche urspr nglich f r die Program miersprache Java genutzt wurde Ecl Mittlerwei
81. ement anordnen Eini ge Beispiele hierf r werden sp ter in Kapitel 6 genauer betrachtet Es ist ebenfalls m glich im Programmcode auf die verschiedenen Elemente der Bildschirmansicht zuzugreifen und diese zur Laufzeit anzupassen Ein weiterer wichtiger Punkt ist dass unterschiedliche Bildschirmansichten f r verschiedene Bild schirmausrichtungen und gr en verwendet werden k nnen Wenn ein Smartphone im Hochfor mat gehalten wird spricht man vom Portraitmode Wird es allerdings um 90 ins Querformat gedreht wird vom Landscapemode gesprochen Die Orientierung wird vom Betriebssystem au tomatisch erkannt und der Entwickler kann den Bildschirminhalt beziehungsweise die Anordnung der Elemente an die Orientierung anpassen Hierf r werden wieder verschiedene Unterordner ver wendet welche auch hier vom System automatisch ausgew hlt werden Zudem k nnen weitere Ordner f r verschiedene Bildschirmgr en angelegt werden damit bei jeder Bildschirmgr e der Platz m glichst optimal genutzt werden kann Ando Menu Jede Android Activity kann ber ein eigenes Options Men verf gen Dieses Men kann zum einem im Code der Activity zur Laufzeit erzeugt werden zum anderen kann es auch als Ressource bereitgestellt werden Auch hier kommt wieder die Auszeichnungssprache XML zum Einsatz lt menu xmlns android http schemas android com apk res android gt lt item android id tid action_settings_date android orderInC
82. en nun vom Client aneinander gereiht und abgespielt sodass die Mediendatei ununterbrochen abgespielt werden kann Es werden also w hrend des Abspielens immer die n chsten ben tigten Dateien vom Server angefordert und im Client an die vorherigen angebunden Zus tzlich wird ein Puffer erstellt um Verbindungs problemen zu entgegnen Da der Client ber die Index Datei ebenfalls einsehen kann in welchen Qualit ten das Video auf dem Server vorhanden ist kann dieser anhand seiner Internetanbindung die entsprechend bestm gliche Quelle anfordern So kann das Video auch bei schwankender Inter netverbindung beziehungsweise leistung weiterhin fl ssig wiedergegeben werden Die Auswahl der Medienqualit t kann also bei jedem angefordertem Segment an die Qualit t der Internetver bindung angepasst werden App ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS Kapitel 3 Grundlagen Android 3 1 Allgemeines In diesem Kapitel soll das Betriebssystem Android vorgestellt und genauer durchleuchtet wer den Eine komplette Einf hrung mit allen M glichkeiten von Android w rde jedoch den Rahmen dieser Arbeit weit berschreiten Aus diesem Grund sollen die Komponenten im Vordergrund ste hen welche auch in dieser Arbeit verwendet wurden Zun chst wird auf die Entwicklung zur ck geblickt bis hin zur Verbreitung Danach wird das Betriebssystem mit seiner Architektur betrach tet und die einzelnen Komponenten kurz
83. en w rde Ebenfalls wurde angemerkt dass die Schriftgr e auf den Tasten als zu klein empfunden wurde und die Mediensteuerung durch entsprechend bebilderte Tasten ersetzt werden sollten ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 7 6 BEFUNDE UND EMPFEHLUNGEN 73 7 6 3 Befunde durch weiterf hrende Fragen Durch die im zweiten Teil der Evaluation angef hrten Fragen konnten ebenfalls einige interessante Eindr cke gesammelt werden Auch wenn nur knapp 50 der Probanden das Smartphone mit Absicht in den Landscape Modus gedreht haben wurde die dort angepasste Ansicht von allen bis auf einen Ausrei er als sehr gut bewertet Die einzige schlechte Bewertung wurde durch den Probanden dadurch begr ndet dass er nie die Landscape Ansicht verwenden w rde da das Smartphone auf diese Weise schlecht in der Hand liegen w rde In Bezug auf die Android Design Richtlinien wurde die Navigation und Struktur der Applikation durchweg als gut eingestuft Die Verwendung von aussagekr ftigen Icons wurde ebenfalls positiv bewertet Die einzigen Makel waren dass die Icons nicht von allen Probanden sofort als solche erkennbar waren Sie h tten laut Probanden deutlicher gemacht werden sollen beispielsweise durch einen dreidimensionalen Effekt In Bezug auf die Darstellung von Icons k nnen die Android Design Richtlinien also durchaus noch einmal berdacht werden Die durch die Design Richtlinien vorgeschlagenen
84. ende Interaktionselemente mit sich bringen Diese m ssen dann nur noch mit entsprechenden Daten s tzen versorgt werden Die Activities werden in einem Back Stack organisiert Jede neu gestartete Activity bekommt den Fokus und wird damit oben auf diesen Stack gelegt dadurch wird die vorherige Activity mit allen aktuellen Eingaben pausiert Der Stack basiert dabei auf dem bekanntem last in first out Prinzip Wenn der Nutzer die Interaktion innerhalb einer Activity abgeschlossen hat und diese ber die Zur ck Taste verl sst wird die Activity beendet und vom Stack gel scht Die zuvor aktive Activity wird fortgesetzt und in den Vordergrund geschoben Ist der Stack leer wird die Anwendung beendet und zum Betriebssystem zur ckgekehrt K n12 Die Persistenz der einzelnen Activities kann hierbei durch ihren speziellen Lebenszyklus siehe Abbildung 3 4 kontrolliert werden Um eine gut organisierte und flexible Applikation entwickeln zu k nnen ist es essentiell die Callback Methoden einer Activity zu verwenden Eine Activity kann sich in drei verschiedenen Zust nden befinden Andb ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 20 KAPITEL 3 GRUNDLAGEN ANDROID f User navigates back to the activi Another activity comes in front of the activity The activity is no longer visible Abbildung 3 4 Activity Lebenszyklus Andc e Re
85. eordnet e 1 nicht gel st Die Aufgabe wurde nicht erfolgreich gel st ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 70 KAPITEL 7 EVALUATION e 2 teilweise gel st Teilaspekte der Aufgabe konnten nicht gel st werden e 3 gel st mit Hilfe Die Aufgabe konnte nur mit Hilfestellung des Versuchsleiters gel st werden e 4 vollst ndig gel st Die Aufgabe wurde vollst ndig und ohne Hilfestellung gel st Als zufriedenstellend wurden nur Ergebnisse betrachtet die vollst ndig gel st wurden Bei Sze narios die nicht oder nur mit Hilfe gel st wurden wird ein Problem vermutet und im Folgenden berichtet 7 5 2 Effizienz Das zweite verwendete Konstrukt ist der bis zur Erreichung der Zielstellung empfundene kogniti ve k rperliche sowie zeitliche Aufwand der Probanden Diese wurde mit dem oben beschriebenen Fragebogen NASA TLX erhoben Die Skalen die hierf r eingesetzt wurden sind Geistige An forderungen Zeitliche Anforderungen Ausf hrung der Aufgaben und Anstrengung F r die Festlegung der Kriterien akzeptabler und nicht akzeptabler Effizienz lagen keine passenden Referenzwerte vor was die Unterteilung der intervallskalierten Skala in Quartile nahelegt Dabei wurden die ersten beiden Quartile als gut bzw akzeptabel die zweiten beiden Quartile als nicht akzeptabel eingestuft 7 5 3 Nutzerzufriedenheit Als Instrument zur Erhebung der Nutzerzufr
86. er o o e e 8 Beispiel einer Sat gt IP SETUP Anfrage o o 11 Beispiel einer Sat gt IP PLAY Anfrage o nenn 11 Beispiel einer Sat gt IP TEARDOWN Anfrage o 11 Beispiel einer Sat gt IP OPTIONS Anfrage ix a a ala 12 Beispiel eines Asyne Tasks ADAL ci e 4a ira 2 ae 22 Beispiel einer Men beschreibung in XML 2 2 22 24 Beispielhaftes Laden und Speichern von SharedPreferences Andl 26 berpr fung ob der MX Player installiert ist 2 222222 o o 42 Starten des Google Play Stores zur Installation des MX Players 42 Landscape Layout eines Super Fragments 2 2 2 2 nn nenn 48 Layout Anpassung an die Orientierung 2 2 2 2 2 mn nn 49 Start des externen MX Players o e e 53 Anpassung des Optionsmen s nn 54 Optionsmen mit Aktionen hinterlegen 2 2 2 2 22 oo 55 Aufbau einer Einstellungen Datei in XML o oo ooo 57 Auszug aus der Manifest Datei a a 61 83 Literaturverzeichnis ALT Anda Andb Ande Andd Ande Andf Andg Andh Andi Andj Andk Andl ALTECH SETONE Genius HD http www setone eu Support Detail 95 0 html amp cHash 903c6a4a71 amp tx_ttnews 5BbackPid 5D 94ktx_ttnews 5Btt_ news 5D 1175 Abruf Januar 2014 ANDROID DEVELOPERS Action Bar http developer android com guide
87. erkl rt wird Nichtsdestotrotz kommt das UPnP Protokoll dennoch bei der Verwen dung von Sat gt IP zum Einsatz Befindet sich das Android Ger t im gleichem Netzwerk wie die Set Top Box wird das hier fol gende Verfahren verwendet Befindet sich die Box nicht im gleichem Netzwerk wird das HTTP Live Streaming verwendet welches im Abschnitt 6 8 beschrieben wird Der Nutzer kann im Aufnahmebereich ber eine Abspiel Taste eine abgespeicherte Aufzeichnung auf dem Android Ger t abspielen Daf r wird zun chst berpr ft ob der MX Player installiert ist Ist dies der Fall wird ein AsyncTask gestartet welcher den Stream an den Player bergeben soll und dieser somit das Abspielen der Datei starten kann Das UPnP Protokoll sieht vor dass der Client ber einen Medienbrowser die gew nschte Datei ausw hlt Diese wird dadurch vom Client angefordert und der Server stellt eine URL bereit unter welcher ein Stream der Datei anzufordern ist In diesem Fall ist die gew nschte Datei allerdings schon bekannt da das Video bereits vom Nutzer in der Aufnahmeoberfl che ausgew hlt wurde Somit muss dem Server lediglich bermittelt werden welches Video gestreamt werden soll Der Client muss also den Namen der Datei kennen um den Stream anfordern zu k nnen Durch analysieren der Namen der gespeicherten Aufzeichnungen ist schnell klar geworden dass diese sich immer nach dem gleichem Schema zusammensetzen Der Name ist ein Konstrukt aus der Startzeit der Sendung
88. es ist auf mehrere Gr nde zur ckzuf hren Die Hersteller arbeiten immer an neuen Smartphones und es ensteht Entwicklungsaufwand die alten Smartphones an die neuen Android Versionen anzupassen Zum einem ist dies ein Hardware Treiber Problem welche immer weiterentwickelt werden m ssten Zum anderem haben viele Her steller die Android Plattform noch mit eigenen Variationen von Software Layouts und Anderem versehen welche daraufhin ebenfalls wieder angepasst werden m ssen Au erdem erhoffen sich nat rlich auch einige Hersteller auf Verk ufe ihrer neuen Modelle welche direkt mit der neusten ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 3 2 ARCHITEKTUR 17 version codename AM oistibuton 1 6 Donut 4 0 1 2 1 Eclair 7 1 2 2 2 Froyo 8 2 5 2 3 Gingerbread 9 0 1 2 3 2 2 3 3 10 33 0 2 3 7 3 2 Honeycomb 13 0 1 ii 4 0 3 Ice Cream 15 22 5 4 0 4 Sandwich 4 1 x Jelly Bean 16 34 0 4 2 x 17 6 5 Abbildung 3 2 Verbreitung der Android Versionen im August 2013 Wif Androidversion ausgestattet werden Das ist ein wichtiger Punkt f r die Entwicklung dieser Arbeit da nat rlich m glichst allen Nut zern eine Verwendung der Applikation erm glicht werden soll Das Android Betriebssystem ist abw rtskompatibel aber nicht aufw rtskompatibel Das hei t dass die Applikation in einer m g lich fr hen Version von Android entwickelt werden muss um vielen Nutzern die Verwen
89. est 6 e Login Textfeld markieren e Fernbedienung nur die erste Ansicht gefunden e S5 mit Hilfe gel st Test 7 e Planen im Planer gesucht e Fernbedienung nur die erste Ansicht gefunden e Aufgezeichnete Sendung nur entfernt schauen sonst TV Test 8 e Fernbedienung nur die erste Ansicht gefunden e SS5mit Hilfe gel st e Planen im Planer gesucht e S3 Video auf TV anzeigen lassen k nnen e Name EPG unklar nderung in Programm e Zahlen Schriftgr Be gr er machen e Medien Steuerung mit Bilderbuttons Test 9 e Fernbedienung nur die erste Ansicht gefunden e Kalender Icon nicht sofort ersichtlich e Planen im Planer gesucht e Name EPG unklar nderung in Programm e S5 mit Hilfe gel st Test 10 e Planen im Planer gesucht e Fernbedienung nur die erste Ansicht gefunden e Fernbedienung bei Erststart mit Tutorial e S5 nur mit Hilfe gel st e Login Cursor nicht da ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 106 ANHANG A UNTERLAGEN ZUR EVALUATION Test 11 e Fernbedienung nur die erste Ansicht gefunden e Fernbedienung mit Tabs versehen e S5nur mit Hilfe Test 12 e Fernbedienung nicht klar dass mehrere Ansichten e Login Cursor nicht da e Fernbedienung in Grundbedienung starten Test 13 e Planen im Planer gesucht e Fernbedienung nur die erste Ansicht gefunden e Tabs in Fernbedienung hilfreich ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FER
90. et Nach jedem Szenario muss der Proband einen Fragebogen zur Schwierigkeit der Aufgabe ausf llen Als Grundlage f r den Fragebogen diente dabei der NASA Task Load Index welcher in Abschnitt 7 3 erl utert wird Im zweiten Teil des Tests werden dem Probanden weiterf hrende Fragen zur Applikation gestellt 67 68 KAPITEL 7 EVALUATION Dabei handelt es sich beispielsweise um Befragungen zum Layout oder zur Handhabung der Anwendung Zum Ende des Usability Tests wurde der Proband in einer offenen Frage um Kritik und Anre gungen gebeten Nach dem Test wurde der Fragebogen kurz gepr ft der Proband wurde durch ein kleines Pr sent entlohnt und verabschiedet 7 2 Personenbezogene Daten Vor dem eigentlichem Softwaretest wurden einige personenbezogene Daten aufgenommen da diese bei der Bewertung durchaus ins Gewicht fallen k nnen oder auch Ausrei er au erhalb der erwarteten Messreihen erkl ren k nnen Diese Daten sind e Alter e Geschlecht e Vorerfahrung mit Smartphones e Vorerfahrung mit dem Android Betriebssystem e Vorerfahrung mit Set Top Boxen 73 NASA TLX Der NASA Task Load Index ist im ersten Teil des Usability Tests zum Einsatz gekommen und dient der Erfassung wahrgenommener Arbeitsbelastung bei der Bearbeitung von Aufgaben die mit sechs verschiedenen Skalen erhoben wird Entwickelt wurde der NASA TLX von Hart amp Staveland HS88 Grundlage f r die Implementierung in dieser Untersuchung war eine deutsche bers
91. etens auf gelistet dort zu finden Die von den Probanden bearbeiteten Frageb gen finden sich auf der beiliegenden CD wieder 7 6 2 Befunde der Testszenarien Szenarien 1 Anmelden 3 Ansehen einer Aufnahme 4 L schen einer Aufnahme 6 Abspielen des aktuellen Programms Diese Szenarien wurden von allen Probanden immer vollst ndig gel st weshalb die Bearbeitungs Effektivit t bei diesen sehr hoch ist Au erdem liegt die gemessene Effizienz immer im Mittelwert unter 1 5 sodass die Anwendung in diesen Bereichen keine hohen Anforderungen an den Pro banden zu stellen scheint Dies wird auch in der Nutzerzufriedenheit widergespiegelt welche im schlechtesten Fall mit einem Mittelwert von 1 31 bewertet wurde Bei der Nutzerzufriedenheit gibt es nur im ersten Szenario drei Ausrei er Die abschlie enden Befragungen dieser Probanden hat ergeben dass das Anmelden nur mittelm ig bewertet wurde weil bei Auswahl der Text felder des Nutzernamens sowie des Passworts kein Cursor zu sehen ist Somit ist nicht sofort erkenntlich ob das gew nschte Textfeld ausgew hlt ist Das Fehlen des Cursors ist allerdings nicht auf die Applikation zur ckzuf hren denn dieser Fehler ist nicht auf jedem Android Ger t pr sent Das Testger t ist mit der Android Version 4 4 2 ausgestattet Seit Android 4 0 3 ist dies ein bekannter Fehler und sollte somit in einer k nftigen Android Version behoben werden Gooa Die Szenarien 1 3 4 und 6 waren also von den Proba
92. etzung von Unema et al URSW 88 Es handelt sich bei dieser Bewertung um geschlossene Fragen das hei t vorgegebenen Antwortm glichkeiten Die sechs Skalen lauten e Geistige Anforderungen e K rperliche Anforderungen e Zeitliche Anforderungen e Ausf hrung der Aufgaben e Anstrengung e Frustration Die Skalen bestehen aus je einem Item das im Original mit einer 21 stufigen Skala mit den Verankerungen gering bis hoch erhoben wird Diese wurde im Sinne der Skalier bzw Ver gleichbarkeit in diesem Softwaretest in eine 5 stufige Skala abgewandelt ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 7 4 USABILITY TEST 69 7 4 Usability Test Im ersten Teil des Tests wurden dem Probanden sechs verschiedene Szenarien vorgestellt wel che er nach und nach durchf hren und in ihrer Schwierigkeit bewerten sollte Diese Szenarien befassen sich mit der Handhabung der Applikation und sollen Aufschluss dar ber geben ob die se bersichtlich und verst ndlich gestaltet ist und intuitiv zu bedienen ist Die sechs Szenarien lauten 1 Anmelden Bei Erhalt des Smartphones ist die Applikation bereits gestartet Bitte melden Sie sich mit folgenden Daten im System an Name Sebastian Passwort qqqqqq 2 Planen einer Aufnahme Versuchen Sie die Aufzeichnung einer Sendung zu planen welche bermorgen gegen 19 Uhr auf dem Sender RTL2 ausgestrahlt wird 3 Ansehen einer Aufnahme Se
93. etzwerk verschickt Dabei wird als Search Target Parameter urn ses com device SatIPServer 1 beigef gt sodass nur Sat gt IP Server auf diesen Mulitcast antworten Daraufhin wird ein TimerTask gestartet welcher die entsprechenden Antworten empf ngt diese parst und die Ger te innerhalb einer ArrayList abspeichert Die Ger te liefern jeweils eine URL zur ck unter welcher genaue Infos zu diesen angefordert werden k nnen Diese werden daraufhin f r jedes dieser Ger te bezogen und die Antworten mittels XML Parser ber eigens erstellte Sat gt IP Client Device Klassen organisiert Der gew nschte Sat gt IP Server der Set Top Box wird dann anhand der zur ckgegeben IP Adresse und der vom ConnectTV Server bereits bekannten IP Adresse abgeglichen und im Model zwi schengespeichert Diese Prozedur dient der berpr fung ob der in der Set Top Box integrierte Sat gt IP Server aktiviert ist Dieser kann in den Optionen der Set Top Box abgeschaltet werden und w re dadurch nicht erreichbar Mit Hilfe der Best tigung durch das eben durchgef hrte Discovery kann nun die eigentlich Her stellung der Verbindung zum Sat gt IP Server durchgef hrt werden und der Stream angefordert werden Hierf r wird zun chst mittels einer SETUP Anfrage eine Session des gew nschten Pro gramms erstellt Die f r diese Anfrage ben tigten Daten wie Frequenz Polarisation oder Sym bolrate werden durch den Connect TV Server bereitgestellt Bei jeder Anfrage an den Sat gt IP
94. gt IP Server Ei fa p G E PC Smartphone A z WLAN Router TV gt Laptop Tablet A Abbildung 2 4 bersicht zur Signalverteilung via Sat gt IP in Anlehnung an SESa vice Services als Standards vorgegeben In dieser Arbeit soll UPnP auf der Set Top Box als Audio Video Mediaserver eingesetzt werden und innerhalb der entwickelte Android Applikation soll ein Controlpoint und Mediarenderer implementiert werden Die detaillierte Verwendung wird im Laufe dieser Arbeit weiter vorgestellt 2 5 Sat gt IP Sat gt IP steht f r Sat over IP und ist ein Protokoll welches einen Weg bereitstellt um IP basierten Ger ten die Verteilung und den Empfang von Satellitenfernsehen zu erm glichen Dabei wird das vom Satelliten empfangene DVBS beziehungsweise DVBS2 Signal in ein IPTV Datenformat umgewandelt und ber das IP Netzwerk verschickt Das Protokoll wurde im April 2012 von der Europ ische Satellitengesellschaft SES vorgestellt SES12 Es handelt sich bei diesem Verfahren um ein Client Server System In Bezug auf diese Arbeit ist der Sat gt IP Server in der Set Top Box integriert und verteilt das Signal an die verschiedenen Endger te Die Applikation auf dem Android Ger t greift das bereitgestellte Signal dann als Client ab SESb Abbildung 2 4 stellt eine bersicht zur Verdeutlichung der Verteilung des Signals innerhalb eines Haushalts dar Da es sich um ein Client Server System handelt werden diese nun zun chst separat betrach
95. he die entfernte und lokale Nutzung eines PVR Systems erm glichen soll Das verwendete Personal Video Recorder PVR System ist eine Set Top Box der Firma SetOne und die sich darauf befindliche Software wird von der DiscVision GmbH entwickelt Die Entwicklung der Android Applikation wird in enger Zusammenarbeit mit DiscVision geplant und erstellt Mit der Set Top Box ist es m glich das Fernsehprogramm aufzuzeichnen und zu einem sp terem Zeitpunkt wiederzugeben Die Aufzeichnung kann dabei sowohl vorher eingeplant werden aber auch direkt gestartet werden Zur Planung wird ein Scheduling System verwendet welches sich auf Daten eines elektronischen Programmf hrers st tzt Diese M glichkeiten der Set Top Box sollen dem Nutzer durch diese Arbeit ebenfalls auf seinem Android Ger t bereitgestellt werden und sowohl eine vor Ort als auch eine entfernte Nutzung des Systems erm glichen Der Nutzer soll mit seinem Smartphone oder Tablet nicht nur seine Aufzeichnungen organisieren k nnen sondern diese ebenfalls an seinem mobilem Endger t abspielen k nnen Lokal soll dabei eine Verbindung via Universal Plug and Play UPnP zum Einsatz kommen f r die entfernte Nutzung soll ein HTTP Live Stream HLS zur Verf gung gestellt werden Die Set Top Box stellt f r diese Anforderungen sowohl einen UPnP Mediaserver als auch einen Webserver und Encoder f r HLS bereit Au erdem soll der Nutzer die M glichkeit haben lokal das aktuelle Live Bild eines gew nschten
96. hen Sie sich eine bereits vorhandene Aufzeichnung einer Sendung an Kehren sie nach einigen Sekunden wieder zur Applikation zur ck 4 L schen einer geplanten Aufnahme L schen Sie die von Ihnen in Szenario 2 geplante Aufzeichnung wieder W hlen sie danach wieder das heutige Datum aus 5 Fernbedienung W hlen Sie die Fernbedienung aus Schalten Sie auf Kanal 7 Und schal ten Sie dann den Ton ab 6 Abspielen des aktuellen Programms Starten Sie die Wiedergabe des Senders Pro Sieben auf dem Smartphone Kehren sie nach einigen Sekunden wieder zur Applikation zur ck Im zweiten Teil des Usability Tests werden weiterf hrende Fragen zur Applikation gestellt Diese Beziehen sich auf das Layout die Handhabung den von Nutzern zu erwartenden Einsatzbereichen sowie der Bewertung der Applikation im Allgemeinen Die Antworten der Fragen konnten in einer Skala von 1 5 abgegeben werden Einige Fragen konnten nur mit vorgegebenen Single Choice Antworten bewertet werden Dieser Teil besteht ebenfalls nur aus geschlossenen Fragen 7 5 Auswertungsmethoden Die Auswertung der erhobenen Daten orientiert sich an den in der Norm DIN EN ISO 9241 110 Deu06 genannten Kriterien f r Usability Effektivit t Effizienz und Nutzerzufriedenheit Zur Erfassung dieser drei Konstrukte wurden quantitative Methoden verwendet 7 5 1 Effektivit t Der Grad der Zielerreichung wurde pro Teilnehmer und Nutzungsszenario einer der folgenden vier Abstufungen zug
97. hert werden ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS OMNRAKR ON 54 KAPITEL 6 IMPLEMENTATION E Today e EPG 1 Date Das Erste HD Settings Logout Pal E 12 28 ESA ZDF HD RTL Television 27 02 12 Settings SANI Logout cada Richter Ale Richter Alexander xox Hold Hauptdarsteller dieser pseudo dokumentarischen y 27 02 13 00 Gerichtshow ist Alexander Hold als Vorsitzender kabel eins Richter Staatsanw lte und Verteidiger werden Auf Streife von wirklichen Rechtsanw lten verk rpert Prost Hepto lautstarke verbale bergriffe und unerwartete roSieben 27 02 14 00 Eo h R 3 Wendungen und berraschungen sind typisch f r oS Im Namen der die hier vorgef hrten F lle Gerechtigkeit Wir SET ONE a Men Portrait b Men Landscape SET ONE Abbildung 6 9 Ansichten der Meniis Override public boolean onPrepareOptionsMenu Menu menu Y if currentPage 0 menu findItem R id action_settings_date setVisible true else menu findItem R id action_settings_date setVisible false return super onPrepareOptionsMenu menu Listing 6 6 Anpassung des Optionsmeniis Mit diesem Wissen kann in der tiberschriebenen onPrepareOptionsMenu Methode die Seite berpr ft und das Men entsprechend angepasst werden Listing 6 6 zeigt wie ein Optionsmen punkt durch dieses Verfahren ein und ausgeblendet wird Innerhalb der Variablen des O
98. hirm eingebunden um dort variabel einsetzbar zu sein Am Beispiel der EPG Ansicht aus den Abbildungen 6 5 oder auch 6 6 sind die immer wieder auftauchenden Elemente des Hauptbildschirms erkennen Darunter fallen die sich im oberen Bereich befindliche Action Bar und die sich am unterem Teil des Bildschirms angeordnete gr ne Statusanzeige und die Hersteller und Partnerbanner Die Statusanzeige berpr ft die Verbindung zur Set Top Box in regelm igen Abst nden Die Abst nde werden bei Verbindungsproblemen klein gehalten um m glichst schnell zu erfahren ob die Verbindung wieder hergestellt wurde Bei erfolgreicher Verbindung wird der Abstand ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 6 4 BILDSCHIRMANSICHTEN 45 gr er gew hlt um nicht zu h ufig Anfragen zu stellen und somit das Netz und somit auch die Akkulaufzeit nicht unn tig zu belasten Die Action Bar wird immer an die im mittlerem Bereich angezeigten Fragment Elemente ange passt Dabei wird sowohl der angezeigte Titel die Anzeige der Hoch Taste als auch die Anzeige der Optionsmen eintr ge entsprechend angepasst Die Anpassung der Action Bar kann von den einzelnen Fragmenten aus gesteuert werden und wird daher dort weiter beschrieben Die EPG Planer und Aufnahmeansichten werden im Hauptbildschirm ber Tabs verwaltet Die Tabs k nnen direkt ausgew hlt oder durch wischen gewechselt werden Das Wechseln der Ansichten dur
99. hlecht 1 2 3 4 5 Haben Sie zum Navigieren in der Applikation den Zur ck Button unten links oder den Up Button oben links verwendet Zur ck Button Up Button Beide Wie bewerten Sie den Funktionsumfang der Anwendung gut schlecht 1 2 3 4 5 ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 102 ANHANG A UNTERLAGEN ZUR EVALUATION Test Nr Datum Wie ist Ihre allgemeine Meinung zu der Anwendung gut schlecht 1 2 3 4 5 Halten Sie die Verwendung von Icons anstatt Beschriftungen fur sinnvoll sinnvoll schlecht 1 2 3 4 5 Halten Sie die verwendeten Icons f r passend und aussagekr ftig passend schlecht 1 2 3 4 5 Wie bewerten Sie die Verst ndlichkeit der Dialoge Wollen Sie wirklich l schen etc gut schlecht 1 2 3 4 5 Wurden Sie gern Sendungen spontan mit Ihrem Smartphone oder Tablet aufzeichnen gerne unwichtig 1 2 3 4 5 ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS A 3 FRAGEBOGEN 103 Test Nr Datum Stellen Sie sich jetzt vor Sie besitzen eine solche Set Top Box W rden Sie aufgezeichnete Sendungen auf einem Smartphone oder Tablet anschauen gerne unwichtig 1 2 3 4 5
100. iche welche auch in dieser Arbeit verwendet wurden Wichtig f r das Verst ndnis des Android Frameworks ist dass es sich um eine Art Model View Controller Entwurfsmuster handelt Das Muster strukturiert die Anwendung in Datenmodell Pr sentation und Programmsteuerung Dies erm glicht eine vereinfachte Austauschbarkeit und Wiederverwendbarkeit Wie die Komponenten den einzelnen Bereichen zugeordnet werden wird in den folgenden Untersektionen beschrieben 3 3 1 Activity Eine Android Activity ist die Anwendungskomponente welche dem Nutzer ein Interface bereit stellt mit dem er interagieren kann Eine Anwendung besteht im Normalfall aus mehreren leicht zusammenh ngenden Activities Es wird eine Haupt Activity festgelegt welche als Einstiegs punkt einer Applikation dient Aus dieser Activity k nnen durch Interaktion weitere Activities aufgerufen werden und zu einer Gesamtapplikation zusammengesetzt werden Andb Eine Komponente vom Typ Activity kann dabei als der Controller angesehen werden welcher die Eingaben der View verarbeitet und mit dem Model kommuniziert Das Aussehen einer Ac tivity wird in den meisten F llen durch eine XML Datei beschrieben und mittels der Methode setContentView geladen Diese XML Datei kann also als View angesehen werden und wird in Abschnitt 3 3 5 noch genauer betrachtet Es ist allerdings auch m glich spezielle Activities zu verwenden welche beispielsweise direkt die Form einer Liste besitzen und dementsprech
101. iedenheit diente die Skala Frustration des NASA TLX Frustration l sst sich als Beeintr chtigung des Befindens verstehen Zufriedenheit resul tiert unter anderem aus der Abwesenheit von Beeintr chtigungen Es wurden aus den bereits genannten Gr nden wieder auf die Quartile als Ma stab f r akzeptable und nicht akzeptable Nutzerzufriedenheit herangezogen 7 6 Befunde und Empfehlungen 7 6 1 Einf hrung Im Folgenden werden die aus den erhobenen Daten mittels der Auswertungsmethoden abgelei teten Befunde vorgestellt und erkl rt Dabei werden zun chst die Szenarien des ersten Teils des Tests ausgewertet Nach Ermittlung der Probleme soll versucht werden Empfehlungen zur Ver besserung der Applikation vorzustellen Im Anschluss daran werden die weiterf hrenden Fragen das zweiten Teils betrachtet und beurteilt Zudem werden einige durch die Evaluation gewon nene abschlie ende Eindr cke dargestellt Zum Ende des Kapitels sollen nach Feststellung und Beurteilung der Befunde noch einige darauf aufbauende Anpassungen der Applikation vorgestellt werden ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 7 6 BEFUNDE UND EMPFEHLUNGEN 71 Der Fragebogen sowie dessen Auswertung ist im Anhang hinterlegt Au erdem sind dort die Anmerkungen zur Applikation seitens der Probanden aufgelistet Ferner sind die vorgefallenen Probleme und die Verbesserungsvorschl ge der Probanden nach H ufigkeit des Auftr
102. itung der Aufgabe gering hoch 1 2 3 4 5 K rperliche Anforderung Wie hoch war die k rperliche Anstrengung bei der Bearbeitung der Aufgabe gering hoch 1 2 3 4 5 Zeitliche Anforderung Wie empfandst du den Zeitaufwand beim Bearbeiten der Aufgabe gering hoch 1 2 3 4 5 Ausf hrung der Aufgaben Wie erfolgreich hast du deiner Meinung nach die vom Versuchsleiter gesetzten Ziele erreicht Wie zufrieden warst du bei deiner Leistung bei der Verfolgung deiner Ziele gut schlecht 1 2 3 4 5 Anstrengung Wie hart musstest du arbeiten um deinen Grad an Aufgabenerf llung zu erreichen gering hoch 1 2 3 4 5 Frustration Wie unsicher entmutigt irritiert gestresst und ver rgert versus sicher best tigt zufrieden und entspannt f hltest du dich w hrend der Aufgabe gering hoch 1 2 3 4 5 ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 100 ANHANG A UNTERLAGEN ZUR EVALUATION Test Nr Datum Szenario 6 Abspielen des aktuellen Programms Geistige Anforderung Wie hoch war die geistige Anstrengung bei der Bearbeitung der Aufgabe gering hoch 1 2 3 4 5 K rperliche Anforderung Wie hoch war die k rperliche Anstrengung bei der Bearbeitung der Aufgabe gering hoch 1
103. kation gestartet werden Da ein externes Abspielprogramm verwendet wird kann das Programm nicht innerhalb des Players gewechselt werden da hier keine Befehle mehr abgefangen werden k nnen und entsprechend darauf reagiert werden kann Abschlie end ist zur Sat gt IP Funktion noch zu sagen dass diese selbst funktionsf hig ist aller dings noch ein Problem aufweist Die Daten zur Erstellung eines Streams wie die Frequenz oder die Polarisation des Senders sollten durch den ConnectTV Server von der Set Top Box geladen ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 6 9 SAT gt IP 65 werden Die DiscVision GmbH hat es allerdings nicht geschafft bis zum Abschluss dieser Arbeit einen solchen Service bereitzustellen Zudem wurde kein verl sslicher und kostenloser externer Service gefunden Somit wird die Funktion momentan nur mit fixen Werten f r einen bestimm ten Sender gestartet Sie ist also funktionsf hig m sste allerdings noch bei Fertigstellung des Connect TV Services angepasst werden ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS Kapitel 7 Evaluat on Neben der Entwicklung der Android Applikation soll ebenfalls eine Evaluation dieser durchge f hrt werden um die Android Design Richtlinien die Anpassung an verschiedene Bildschirmgr en sowie die Funktionen der Applikation selbst zu hinterfragen Zu diesem Zweck wurde mit einer bersch
104. kgeliefert und entspricht in ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS OoN AUNE 6 KAPITEL 2 GRUNDLAGEN PVR SYSTEM Inhalt und Reihenfolge genau der auf dem Ger t befindlichen Senderliste Listing 2 2 zeigt einen beispielhaften Auszug aus einer Antwort des Connect TV Servers Inner halb des Wurzelelementes service_list wird zun chst ber das Element numberChannels die gesamte Anzahl der Sender bereitgestellt Dann folgt ber die einzelnen service Flemente die strukturierte Auflistung der verschiedenen Sender Die detaillierten Informationen zu den Sen dern k nnen dann ber die eindeutige SID am Connect T V Server angefragt werden lt xml version 1 0 encoding UTF 8 gt lt service_list gt lt numberChannels gt 108 lt numberChannels gt lt service gt lt sid gt 286018768076800 lt sid gt lt servicename gt ARD HD lt servicename gt lt service gt lt service gt lt sid gt 286162830753792 lt sid gt lt servicename gt RTL Television lt servicename gt lt service gt lt service gt lt sid gt 286138758975373 lt sid gt lt servicename gt Eurosport lt servicename gt lt service gt lt service_list gt Listing 2 2 Auszug aus einer Antwort des Connect TV Servers auf eine Senderlisten Anfrage 2 4 Universal Plug and Play Universal Plug and Play kurz UPnP ist ein Standard einer offenen Netzwerkarchitektur zur Steuerung von und zum Datentransfe
105. le kann die quelloffene Software durch viele Erweiterungen erg nzt werden Eine dieser Erweiterungen sind die Android Development Tools ADT Andd Mit diesem Plu gin ist es m glich Android Projekte zu erstellen Dabei wird bereits automatisch die Android 35 36 KAPITEL 5 GRUNDLAGEN WERKZEUGE typische Projektstruktur mit dessen standardisierten Ordnern und Bibliotheken erstellt Au er dem k nnen dort Pakete welche auf die Android Framework API aufbauen direkt integriert werden und Applikationen zur Laufzeit getestet werden Die Tests der Applikationen werden dem Entwickler dabei ber ein virtuelles Ger t erm glicht oder auch direkt auf einem echtem Android Ger t Der eingebettete Debugger erm glicht dem Entwickler die vereinfachte Diagno stizierung und Auffindung von Programmierfehlern Die ber XML erstellten Bildschirmansichten k nnen zus tzlich f r verschiedene Bildschirmgr en vorgerendert werden und bei Bedarf in diesem Modus auch per Drag and Drop bearbeitet werden Zudem k nnen signierte apk Dateien exportiert werden welche daraufhin ver ffentlicht werden k nnen Eine apk Datei ist die Installationsdatei einer einzelnen Applikation ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS Kapitel 6 Implementation In diesem Kapitel soll nun nach gr ndlicher Aufkl rung ber die zu Grunde liegenden Techniken auf die eigentliche Implementation der im Zuge dieser Arbei
106. lge erl utern 5 Gibt es noch Fragen 6 Fragebogen bergeben 7 Ton einschalten 8 Starten Nach Beendigung des Tests Fragebogen kurz berpr fen Probanden fragen ob er noch etwas spezielles zur Applikation sagen m chte Bedanken inklusive kleinem Pr sent Verabschieden TV ausschalten Set Top Box ausschalten Smartphone ausschalten O IRB DR Fragebogen abheften ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 92 ANHANG A UNTERLAGEN ZUR EVALUATION A 2 Szenarien Teil 1 Szenario 1 Anmelden Bei Erhalt des Smartphones ist die Applikation bereits gestartet Bitte melden Sie sich mit folgenden Daten im System an Name Sebastian Passwort qqqqqq Szenario 2 Planen einer Aufnahme Versuchen Sie die Aufzeichnung einer Sendung zu planen welche bermorgen gegen 19 Uhr auf dem Sender RTL2 ausgestrahlt wird Szenario 3 Ansehen einer Aufnahme Sehen Sie sich eine bereits vorhandene Aufzeichnung einer Sendung an Kehren sie nach einigen Sekunden wieder zur Applikation zur ck ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS A 2 SZENARIEN 93 Szenario 4 L schen einer Aufnahme L schen Sie die von Ihnen in Szenario 2 geplante Aufzeichnung wieder W hlen sie danach wieder das heutige Datum aus Szenario 5 Fernbedienung W hlen Sie die Fernbedienung aus Schalten Sie auf Kanal 7 Und schalten Sie d
107. mten Prototypen der Applikation zusammen gesetzt werden Diese Prototypen konnten einfach ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 40 KAPITEL 6 IMPLEMENTATION GENIUS HD Remote App Abbildung 6 3 Teile eines Prototypen Aufbaus mittels FluidUI per E Mail an den Verantwortlichen bei DiscVision gesendet werden und von diesem wie eine Applikation auf dem Mobilger t oder aber am Computer getestet werden Wie die einzelnen An sichten miteinander verbunden sind und wie einige dieser aussehen sollten ist in Abbildung 6 3 dargestellt Die Erstellung von Bildschirmansichten speziell f r Tablets ist mit FluidUI ebenfalls m glich Dabei k nnen die Eigenheiten eines Tablets in Form von Gr e und Layout sowie die speziellen Anpassungen des Designs ebenfalls in die Prototypisierung mit einbezogen werden Probleme bei der Erstellung eines gesamten Prototyps wurden dabei lediglich durch die Begren zungen der kostenlosen Version hervorgerufen Mit dieser Version war es innerhalb eines Projekts nur m glich zehn Bildschirmansichten miteinander zu verkn pfen Aus diesem Grund mussten mehrere Projekte erstellt und mit den Verantwortlichen besprochen werden ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 6 3 EXTERNE BIBLIOTHEKEN UND ANWENDUNGEN 41 Wie bereits in den einzelnen Mock Ups zu sehen ist wurde schon bei der Prototypisierung ve
108. n Eine Empfehlung der Probanden welche nicht umgesetzt wurde ist das Planen im Bereich des Planers zu erm glichen Dies wurde aus mehreren Gr nden nicht umgesetzt Zum einen hat die Evaluation gezeigt dass die Probanden auch ohne diese Funktion das Szenario eigenst ndig l sen konnten Zum anderen hat sich gezeigt dass die Probanden alle der Meinung waren die Appli kation nach einmaliger Verwendung wesentlich schneller und besser bedienen zu k nnen Wenn die Anwendung der Funktion also erst einmal bekannt ist ist die Umsetzung also durchaus sinn voll Au erdem wurde die berlegung der Anpassung verstreut da die Umsetzung einer solchen Funktion mit hoher Wahrscheinlichkeit der EPG Ansicht sehr hneln w rde und somit nur ein anderer Weg f r die gleiche Funktion bereitgestellt werden w rde Des Weiteren herrschte auch seitens der Probanden die Meinung dass eine Sendung zu einem bestimmtem Zeitpunkt wohl nicht gezielt gesucht werden w rde so wie es im Szenario verlangt war Es ist eher anzuneh men dass ein Nutzer spontan eine Aufzeichnung einplanen w rde wenn dieser zuf llig ber die EPG Ansicht auf eine interessante Sendung st t Dies sind nach Meinung des Entwicklers sinnvolle Anpassungen der Applikation welche die Ver wendung dieser vereinfachen sollen Alle Anpassungen sind dabei auf Probleme Empfehlungen oder weitere R cksprachen mit den Probanden zur ckzuf hren ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUE
109. n sind hat es durchaus Sinn ergeben dies ebenfalls anzugleichen Weitere Anpassungen wurden ausschlie lich an der Fernbedienung vorgenommen In den Abbil dungen 7 1 b und c ist zu sehen dass oberhalb der Fernbedienungsansichten ein Indikator f r die verschiedenen Ansichten eingef hrt wurde Dieser soll dem Nutzer vor Augen f hren dass es noch weitere Ansichten der Fernbedienung gibt Die Verwendung von Indikatoren sollte dem Nutzer bereits bekannt sein Beispielsweise wird ein solcher Indikator auch auf dem Desktop dem sogenanntem Homescreen von Android verwendet Au erdem zeigen die Abbildungen dass die Ansicht der Grundbedienung an die erste Stelle der Fernbedienungsansichten gesetzt wurde Die Argumente der Probanden ber die h ufigere Ver wendung und die hierf r vorteilhafte schnellere Auswahl dieser Ansicht haben hier berwiegt Zudem wurde die Schrift der Fernbedienungstasten vergr ert und diese wird zudem nun fett dargestellt Auf einem Testger t mit kleinerem Bildschirm war die Notwendigkeit dieser Anpas sung noch besser zu sehen ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 7 8 ANPASSUNGEN 75 Heute PROGRAMM AUFNAHMEN Das Erste HD ZDF HD RTL Television SAT 1 VOX kabel eins ProSieben AS SET ONE JDIGITAL Sees 5 MDIGITAL SE TONE a Programm b Fernbedienung c Indikator Abbildung 7 1 Ansichten nach den Anpassunge
110. n Firewalls im Normalfall keine Probleme dar da der Datenverkehr ber diesen Port immer freigegeben sein sollte Anhand von Abbildung 2 7 soll im folgenden die Verarbeitung Bereit stellung und Kommunikation innerhalb von HLS verdeutlicht werden Zun chst wird ein Encoder verwendet mittels dessen die Mediendatei in die Formate H 264 f r Video und AAC f r Audio transkodiert wird In Zuge dessen wird die Datei in mehrere kleine Segmente geschnitten und zudem werden diese Segmente in verschiedenen Qualit ten erstellt Au erdem wird eine m3u8 Index Datei erstellt welche Informationen zu den erstellten Qualit ten META Daten zur Mediendatei und eine Abspielliste der geschnittenen Teile bereith lt App ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 2 6 HTTP LIVE STREAMING 13 media encoder stream pams wefan 2 wefan stream Audio Video Distribution origin web server inputs Te Abbildung 2 7 HTTP Live Streaming Konfiguration App Damit ist das Transkodieren beendet und ein konventioneller Webserver wird zur Verwaltung und Bereitstellung dieser Dateien eingesetzt Um diese Mediendatei nun ber das Internet ab spielen zu k nnen l dt der Client die Index Datei vom Webserver Mit Hilfe dieser Datei kann der Client nun nach und nach die ben tigten Segmente aus der Indexdatei auslesen und zum Abspielen vom Webserver anfordern Diese Segmente werd
111. n m chte Eine Liste der Bibliotheken die mit der Applikation verkn pft werden m ssen 3 3 7 Preferences Um auf einem mobilem Endger t Daten permanent speichern zu k nnen bietet Android mehrere M glichkeiten In dieser Arbeit wurden daf r ausschlie lich die SharedPreferences verwendet aus diesem Grund werden auch nur diese hier weiter erl utert Mit Hilfe der SharedPreferences k nnen primitive Datenypen in Schl ssel Wert Paaren abge speichert werden Meil2 Listing 3 3 zeigt ein Beispiel wie das Speichern und Laden dieser Daten public class Calc extends Activity public static final String PREFS_NAME MyPrefsFile Override protected void onCreate Bundle state super onCreate state Restore preferences SharedPreferences settings getSharedPreferences PREFS_NAME 0 boolean silent settings getBoolean silentMode false setSilent silent Override protected void onStop super onStop We need an Editor object to make preference changes All objects are from android contegt Content SharedPreferences settings getSharedPreferences PREFS_NAME 0 SharedPreferences Editor editor settings edit editor putBoolean silentMode mSilentMode Commit the edits editor commit erfolgt Listing 3 3 Beispielhaftes Laden und Speichern von SharedPreferences Andl In der Methode onStop wird das Speichern der Einstellungen gezeigt Hier wird die Einstel lu
112. n und Designern angestellt Bereits seit dem Jahr 2001 arbeitet DiscVision an einer eigenen Linux basierten Hardwareplatt form aber auch Hand in Hand mit Partnerunternehmen an integrierten Systemen Neben al leinstehenden PVR Systemen wird auch an der Entwicklung von Smart TVs und Set Top Boxen gearbeitet Disa Eine dieser Set Top Boxen wird in dieser Arbeit als Hardware dienen Zudem stellt DiscVision eine Reihe von externen Tools und Services bereit welche die Interaktion mit den entwickelten Systemen ber einen lokalen PC oder ber das Internet erm glichen Einer dieser Services ist das sogenannte Connect TV welches als Schnittstelle zur Kommunikation mit dem PVR System verwendet wird 2 2 Set Top Box Das hier verwendete PVR System ist in einem bereits weiterentwickeltem Modell einer Set Top Box integriert Im Laufe dieser Arbeit wird daher oft PVR System und Set Top Box syn onym verwendet Die durch DiscVision bereitgestellte Set Top Box ist im Grunde genommen ein Satelliten Receiver mit einigen Zusatzfunktionen Es handelt sich um das Modell Genius HD der Firma Altech SetOne siehe Abbildung 2 1 Die Box zeichnet sich durch eine von der DiscVision entwickelte auf Linux basierte Benutzeroberfl che aus ber eine USB 2 0 Schnittstelle kann ein handels blicher USB Speicher an das Ger t angeschlos sen werden und als Festplatte verwendet werden Diese Festplatte erm glicht es Videodateien 4 KAPITEL 2 GRUNDL
113. n welcher die Version 2 3 verwendet wird m glich Ein Fragment k nnte als kleiner Buder der Activity bezeichnet werden und sie werden ver wendet um die Bildschirmansicht einer Activity modular gestalten zu k nnen Ein Fragment verf gt wie eine Activity ber eine eigene Bildschirmansicht Es k nnen mehrere Fragments in einer Activity eingebettet sein Dies hat den Vorteil dass die Fragments unter Ber cksichtigung der Bildschirmgr e und orientierung entsprechend innerhalb der Activity angeordnet werden k nnen um die gesamte Gr e des Bildschirms optimal nutzen zu k nnen In Abbildung 3 5 ist ein Beispiel zu sehen wie die Bildschirmansicht einer Applikation mit Hilfe von Fragments an einen gr eren Bildschirm angepasst werden kann Dabei werden Fragments welche auf einem Smartphone mit relativ kleinem Bildschirm in verschiedenen Activities unterge bracht wurden auf einem Tablet nebeneinander angeordnet Diese sind somit immer gleichzeitig ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 3 3 KOMPONENTEN 23 Selecting an item Selecting an item updates Fragment B starts Activity B Activity A contains Activity A contains Activity B contains Fragment A and Fragment B Fragment A Fragment B Abbildung 3 5 Design mit Fragments Andg sichtbar und bedienbar Diese dynamische Anpassung bringt den Mehrwert eines gr eren Bild schirms erst wirklich zum Vorschein
114. nden schnell und einfach zu l sen und wei sen somit keine gravierenden Probleme auf Schwierigkeiten gab es bei den Szenarien 2 und 5 welche im Folgenden noch genauer betrachtet werden sollen Szenario 2 Planen einer Aufnahme Beim Planen einer Aufnahme gab es bei einigen Probanden Probleme Auch wenn die L sungs Effektivit t hier noch recht gut ausf llt sind innerhalb der Effizienz und der Nutzerzufriedenheit relativ eindeutige Komplikationen aufgetreten Alle bis auf zwei Probanden haben das Szenario eigenst ndig vollst ndig gel st In zwei F llen ist nach l ngerer Ratlosigkeit der Probanden der Versuchsleiter eingeschritten und hat den Pro banden eine kleine Hilfestellung gegeben In dieser Hilfestellung handelte es sich allerdings nur um Gedankenanst e das Szenario auf einen anderen Weg anzugehen Die Effizienz spiegelt eindeutig wieder dass es f r einige Probanden merklich anstrengender war das gesteckte Ziel zu erreichen Die Maximalwerte liegen dabei im Bereich von 3 5 Diese Werte sind nicht mehr als akzeptables Ergebnis anzusehen Au erdem best tigen die Mittelwerte in diesem Bereich dass die meisten Probanden bei diesem Szenario vor Problemen standen Die Nutzerzufriedenheit liegt hier bei einem Mittel von 2 0 weist aber auch Ausrei er auf Die Nutzerzufriedenheit ist wahrscheinlich nur aus dem Grund noch recht gut ausgefallen da die meisten Probanden das Szenario dennoch erfolgreich abschlie en konnten Durch Beo
115. ndroid theme style Theme Sherlock gt lt activity gt lt application gt lt manifest gt Listing 6 9 Auszug aus der Manifest Datei Zum Schluss und den Grofteil des Manifests nimmt die Deklarierung der Activities der Anwen dung ein Jede Activity wird dabei mit einem eindeutigem Namen versehen ber welchen sie innerhalb der Anwendung angesprochen werden kann Da die Sherlock Action Bar verwendet werden soll muss jede Activity ber das Attribut theme mit dem entsprechendem Styling ver sehen werden Die Anmelde Activity erh lt au erdem das Attribut windowSoftInputMode mit dem Status stateHidden Da das oberste Element der Activity ein Textfeld ist bekommt dieses zun chst den Fokus Dies w rde direkt das Tastenfeld aufrufen das wird jedoch durch dieses ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 62 KAPITEL 6 IMPLEMENTATION Attribut verhindert Die Anmelde Activity verf gt au erdem in den Zeilen 26 29 ber einen intent filter Dieser wird ben tigt da diese Activity als Startpunkt der Anwendung dient und dementsprechend als LAUNCHER kategorisiert werden muss 6 7 Universal Plug and Play Ein reines Universal Plug and Play kommt in dieser Arbeit nur in einem gewissen Ma e zum Einsatz Es sollte zum Abspielen von abgespeicherten Aufzeichnungen im Heimnetzwerk zum Einsatz kommen aber f r dieses Szenario wurde ein einfacher Workaround gefunden welcher im Folgenden
116. ne von der DiscVision GmbH entwickelte Server Plattform Sie dient als Schnitt stelle zur Kommunikation mit den Set Top Boxen und auch zur Bereitstellung von Daten von externen Dienstleistern Au erdem h lt sie die Daten aller Boxen persistent und erm glicht einen entfernten Zugriff durch weitere Services In Abbildung 2 2 wird der allgemeine Aufbau des Sys tems verdeutlicht Die gesamte Technologie basiert auf Standard Protokollen wie beispielsweise HTTP oder FTP Zur Strukturierung der Kommunikationsdaten werden die kompakten Daten formate XML oder JSON eingesetzt Der Kern des Systems ist das Service Center SC Hier werden unter anderem die Programmdaten ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 2 3 CONNECTTV 5 sc Box APP Server oa EPG PC J Internet mO Abbildung 2 2 Schematischer Aufbau der ConnectTV Architektur Disb EPG welche durch TV Digital ein Service der Axel Springer AG zur Verf gung gestellt werden verarbeitet und auf verschiedenste Weise zum Abruf bereitgestellt Au erdem verwaltet dieses auch Applikations Server und transformiert Inhalte von weiteren externen Diensten wie Amazon oder eBay Zudem kann mit jedem IP basiertem Endger t via HTTP ber das Internet auf die Set Top Boxen zugegriffen werden Alle HTTP Anfragen folgen dabei dem gleichem im weiterem noch gezeigten Schema Dies ist auch das Hauptanwendungsgebiet
117. nfos Sho ne Abbildung 6 11 Ansicht des Einstellungsbildschirms 6 4 8 Paarung Um die Set Top Box mit der Anwendung zu verkniipfen miissen diese gepaart werden Da das Paaren in der Bedienungsanleitung der Set Top Box beschrieben wird wird innerhalb der Ap plikation auf eine weitere Beschreibung verzichtet Zur Verkntipfung der beiden Systeme wird zun chst ber die Applikation ein Konto auf dem ConnectTV Server erstellt Dies geschieht ber die Anmeldeansicht Wenn der Anwender sich einen neuen Nutzeraccount erstellt wird dieser bei der Anmeldung automatisch zum Paarungsbildschirm weitergeleitet Dort wird er aufgefordert die an der Set Top Box im Optionsmenii erstellte Paarungs ID einzugeben siehe Abbildung 6 10 a Ist diese eingetragen wird der Nutzer dauerhaft mit dieser Set Top Box verkniipft und im mer automatisch bei der Anmeldung mit dieser Box verbunden Die Verkn pfung des Nutzers mit der Set Top Box kann nur im Optionsmen dieser zur ckgesetzt werden Ist der Nutzer mit der Set Top Box verbunden kann er unter den Einstellungen die Paarungs bersicht aufrufen In Abbildung 6 10 b ist diese bersicht dargestellt In dieser ist ersichtlich welcher Nutzer angemeldet ist und wie die Version der Set Top Box Software sowie die MAC und IP Adresse der Box lauten Diese Daten werden vom Connect TV Server abgerufen 6 4 9 Einstellungen Die Einstellungen k nnen ber das Optionsmen aufgerufen werden Wie Abbildung 6 11
118. ng verteilt werden Au erdem soll mittels des Sat gt IP Protokolls die bertragung des aktuell laufenden Programms auf das Android Ger t gestreamt werden k nnen Zudem soll im Zuge dieser Arbeit versucht werden die Bildschirmansichten f r die Nutzung von verschiedenen Android Ger ten mit unterschiedlichen Bildschirmgr en und eigenschaften zu optimieren Es soll ebenfalls versucht werden bei der Gestaltung und Implementation der Anwendung die Android Design Richtlinien einzuhalten Ziel dieser Arbeit ist neben der Implementation einer Android Applikation auch eine Evaluation ber die Bedienung und Nutzerfreundlichkeit dieser Dabei soll versucht werden auch die Design Richtlinien und verf gbare Werkzeuge genauer zu betrachten und zu bewerten Zudem soll die Android API bez glich der Optimierung der Bildschirmansichten in Bezug auf die verschiedenen Bildschirmgr en untersucht werden und die verwendeten Protokolle auf ihre Funktionen und Verwendbarkeit evaluiert werden Inhaltsverzeichnis 1 Einleitung 2 Grundlagen PVR System 2 1 2 2 2 3 2 4 2 9 2 6 DiscVision Set Top Box ConnectTV Universal Plug and Play Satie air e HTTP Live Streaming 3 Grundlagen Android 3 1 3 2 3 3 Allgemeines 3 1 1 Geschichte 3 1 2 Verbreitung Architektur Komponenten 3 31 ACHIV a iia ayes 3 32 Intents ei 2 ae ee ei 3383
119. ngen Die Darstellung der EPG Informationen ist in drei Ebenen aufgeteilt Abbildung 6 5 zeigt die drei Ebenen im Portrait Modus In der ersten Ebene a werden alle auf der Set Top Box einge speicherten Sender aufgelistet Die Reihenfolge der Liste wird dabei automatisch durch die auf der Box gespeicherten Liste bernommen In die zweite Ebene b gelangt der Nutzer durch das Ausw hlen eines Senders In dieser Ebene wird ab dem aktuellen Zeitpunkt das auf diesem Sen der laufende Programm aufgelistet Wird dort eine Sendung ausgew hlt wird die dritte Ebene c aufgerufen welche detailliertere Informationen zu dieser Sendung angezeigt 6 4 3 2 Daten Alle Daten werden ber den ConnectTV Server angefordert Dabei werden nicht zum Start der Anwendung alle Daten komplett bezogen sondern wenn ben tigt werden die entsprechenden ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 46 KAPITEL 6 IMPLEMENTATION 73 a Fd 12 27 amp Das Erste HD a EPG RECORDINGS 73 la Fin E sata Ba EPG TIMER RECORDINGS Fd 12 44 a TIMER RECORDINGS 27 02 12 00 13 00 O Das Erste HD Richter Alexander Hold O 00 Richter Alexander Hold ZDF HD Richter Alexander Hold 2 JO Hauptdarsteller dieser pseudo dokumentarischen Gerichtshow ist Alexander Hold als Vorsitzender Richter Staatsanw lte und Verteidiger werden von wirklichen Rechtsanw lten verk rpert lautstarke verbale bergriffe
120. ngsdatei zun chst in die Variable settings geladen Daraufhin wird in Zeile 22 der Editor der ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 3 3 KOMPONENTEN 27 Einstellungsdatei geladen welcher das Bearbeiten der Einstellungen erm glicht In der darauf folgenden Zeile wird der Boolean Wert mSilentMode unter dem Schl ssel silentMode in den Einstellungen abgespeichert Das Laden der Einstellungen wird in der Methode onCreate vollzogen Hier wird wie beim Speichern zun chst die Einstellungsdatei geladen In Zeile 11 wird unter Verwendung des Schl s sels silentMode der Boolean Wert geladen und in die lokale Variable silent geschrieben Ist diese noch nie zuvor in den Einstellungen gesetzt worden wird diese mittels des dahinter ange geben Standard Wertes auf false gesetzt Durch dieses Verfahren kann nach der Beendigung der Anwendung eine vorher gemachte Einstel lung wieder geladen werden Diese Einstellungen werden ber den Lebenszyklus der Applikation hinaus persistent gehalten ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS Kapitel 4 Grundlagen Android Design Richtlinien Da in dieser Arbeit auch die Android Design Richtlinien untersucht werden und mittels Evalua tion eventuelle Probleme Verbesserungen oder auch positives Feedback ermittelt werden sollen werden die wichtigsten Punkte in den n chsten Abschnitten beschrieben
121. on den Design Richtlinien vorgeschlagene Verwendung von Benach richtigungen und Dialogen bei entsprechenden Aktionen hat ebenfalls innerhalb der Evaluation Anklang gefunden Au erdem wurden in den meisten F llen die in der Action Bar eingebetteten Optionsmentieintrage als positiv bewertet da sie so schneller erreichbar sind Die verwendeten Icons sollten allerdings noch besser als bedienbare Elemente deutlich gemacht werden Die Verwendung der Connect TV Schnittstelle hat sich als simpel und gut durchdacht gezeigt Die verf gbaren Funktionen wurden durch eine API gut beschrieben Die Antworten des Servers konnten durch ihre XML Struktur gut ausgelesen und weiterverarbeitet werden Das einzige Problem der Connect TV Anbindung ist die Fehlfunktion innerhalb der Verwendung von HTTP Live Streaming Dort werden die verf gbaren Daten angezeigt doch leider wird auf Anfrage der Daten kein Stream zur Darstellung des Videoinhalts bereitgestellt Hier muss die DiscVision GmbH den entsprechenden Fehler in der Implementation noch ausfindig machen und korrigieren Ist dieser korrigiert sollte die Verwendung dieser Funktion allerdings reibungslos in Betrieb genommen werden k nnen da sie mit anderen Streams bereits getestet wurde Das UPnP Protokoll wurde in dieser Arbeit nicht so verwendet wie dies zu Beginn vorgesehen war Die Auffindung der Datei wurde dabei nicht ber den UPnP Medien Browser durchgef hrt sondern ber einen einfachen Workaround F r das
122. ptions men s kann mittels der in XML gesetzten ID der entsprechende Men eintrag gesucht werden und sichtbar Zeile 4 oder unsichtbar Zeile 6 geschaltet werden Danach muss noch wie in jeder berschriebenen Methode Androids die eigentliche Methode mittels super aufgerufen werden Die Optionsmen items m ssen des weiteren noch mit Aktionen hinterlegt werden Daf r wird die Methode on0ptionsItemSelected wie in Listing 6 7 berschrieben Jedes der Men items besitzt eine ID und kann ber eine switch case Abfrage eine Aktion zugeordnet bekommen In diesem Fall wird beispielsweise bei Auswahl der R id action_settings_remotecontrol in den Zeilen 4 5 die Activity der Fernbedienung gestartet Au erdem muss in diesem Bereich auch auf die sich in der Action Bar befindlichen Hoch Taste eingegangen werden Diese hat innerhalb des Android Systems die ID android R id home In diesem Fall wird der Druck der Zur ck Taste imitiert Wie in den Abbildungen 6 9 a und b zu sehen ist wird die Anzeige der Men punkte inner halb der Action Bar an den sich dort befindlichen Platz angepasst Im Portrait Modus sind dort ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS RoR FOO WN TDA WN E RRR e W N 6 4 BILDSCHIRMANSICHTEN 55 a Pairing Username Sebastian Pair with set top box ion infor MAC 0c f0 b4 00 5a b7 IP address 192 168 10 11 STB version 2 1 7 Insert pairing ID shown on your TV
123. r sucht sich an die Android Design Richtlinien zu halten und die Ansichten diesen entsprechend zu gestalten Die Action Bar ist in jeder Bildschirmansicht integriert und in den Prototypen wurde bereits versucht die Struktur und Navigation richtig zu realisieren Die Layouts wurden speziell an die Bildschirmgr en angepasst sowie Dialoge eindeutig gestaltet und Icons sinnvoll und entsprechend dem Betriebssystem und anderen Applikationen gew hlt Gesten konnten im Prototyp noch nicht integriert werden wurden aber mit den Verantwortlichen besprochen 6 3 Externe Bibliotheken und Anwendungen 6 3 1 ActionBarSherlock In Kapitel 4 1 wurde bereits darauf hingewiesen dass die Android Action Bar erst ab der Android Version 3 0 in der API verf gbar ist Da die Action Bar ein wichtiges Design und Navigations element darstellt die zu entwickelnde Applikation allerdings auf Android 2 3 aufbauen sollte musste eine andere M glichkeit gesucht werden um diese integrieren zu k nnen Diese M glichkeit wurde in der externen Bibliothek ActionBarSherlock gefunden Jak Diese wurde seit M rz 2011 von Jake Wharton entwickelt und liegt seit Juli 2013 in der Version 4 4 0 vor Die aktuellste Version wird auch in dieser Arbeit verwendet Durch Einbinden der Action BarSherlock Bibliothek in das Applikationsverzeichnis ist es m glich die Android Action Bar auf Ger ten bis zur Betriebssystem Version 2 x zu verwenden Dabei wird automatisch in F llen von Version
124. r entmutigt irritiert gestresst und ver rgert versus sicher best tigt zufrieden und entspannt f hltest du dich w hrend der Aufgabe gering hoch 1 2 3 4 5 ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS A 3 FRAGEBOGEN 97 Test Nr Datum Szenario 3 Ansehen einer Aufnahme Geistige Anforderung Wie hoch war die geistige Anstrengung bei der Bearbeitung der Aufgabe gering hoch 1 2 3 4 5 K rperliche Anforderung Wie hoch war die k rperliche Anstrengung bei der Bearbeitung der Aufgabe gering hoch 1 2 3 4 5 Zeitliche Anforderung Wie empfandst du den Zeitaufwand beim Bearbeiten der Aufgabe gering hoch 1 2 3 4 5 Ausf hrung der Aufgaben Wie erfolgreich hast du deiner Meinung nach die vom Versuchsleiter gesetzten Ziele erreicht Wie zufrieden warst du bei deiner Leistung bei der Verfolgung deiner Ziele gut schlecht 1 2 3 4 5 Anstrengung Wie hart musstest du arbeiten um deinen Grad an Aufgabenerf llung zu erreichen gering hoch 1 2 3 4 5 Frustration Wie unsicher entmutigt irritiert gestresst und ver rgert versus sicher best tigt zufrieden und entspannt f hltest du dich w hrend der Aufgabe gering hoch 1 2 3 4 5 ENTWICKLUNG EINER ANDROID AP
125. r die M glichkeit die Anwendung modular aufzubauen und an die ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 32 KAPITEL 4 GRUNDLAGEN ANDROID DESIGN RICHTLINIEN verschiedenen Ger te anzupassen Dabei bieten sich f r gr ere Ger te folgende M glichkeiten e Mehrere Bildschirmansichten zu einer kombinieren e Strecken und Stauchen von verwendeten Fragments e bereinander oder nebeneinander stapeln der Fragments e Erweitern oder Reduzieren von Inhalten e Zeigen oder Verstecken von einzelnen Elementen Die verwendeten Gesten zur Navigation und zur Interaktion mit der Anwendung sollten wie aus anderen Anwendungen bekannt den Standards entsprechen Sie sollten intuitiv sein und ber die Applikation hinweg mit den Gesten des Betriebssystem persistent sein sodass der Nutzer durch nachahmen von bekannten Gesten aus anderen Applikationen eine entsprechende Aktion erwarten kann 4 4 Dialoge und Benachrichtigungen Einige Interaktionen sind trotz Einhaltung der Standards dennoch nicht vom ersten Moment an f r den Nutzer transparent In einigen Situationen ist es daher sinnvoll den Nutzer dar ber zu informieren was gerade passiert ist oder was als n chstes passieren wird wenn eine bestimmte Aktion durchgef hrt wird Dies kann zum einen vor der Aktion durch einen Best tigungsdialog erreicht werden zum anderem nach der Aktion durch eine f r kurze Zeit eingeblendete Benach richtigung Wann ein
126. r zwischen IP basierten Netzwerkger ten Es handelt sich um eine Peer to Peer Kommunikation bei der jeder Teilnehmer anders als beim Client Server Modell gleichgestellt ist und die Dienste der anderen gleicherma en nutzen kann UPnP wurde urspr nglich von der Firma Microsoft eingef hrt wird allerdings seit Oktober 1999 durch das UPnP Forum welches ber 1000 Mitglieder z hlt betreut Die Version 1 1 der UPnP Architektur wird in dieser Arbeit verwendet und liegt seit Oktober 2008 vor UPn08 Die wichtigsten Nutzen und Vorteile des weitverbreiteten Standards sollen kurz vorgestellt wer den UPnb e Medien und Ger teunabh ngigkeit Die UPnP Technologie ist mit jeder Netzwerk Technologie wie WLAN Koax Telefonleitung Stromleitung Ethernet oder FireWire lauf f hig e Plattformunabh ngigkeit Jedes Betriebssystem und jede Programmiersprache kann zur Entwicklung von UPnP Produkten verwendet werden ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 2 4 UNIVERSAL PLUG AND PLAY 7 Abbildung 2 3 UPnP Architektur UPn08 e Standardisierte Technologien Die UPnP Technologie basiert auf IP TCP UDP HTTP XML und anderen Standards e Steuerung durch Benutzerschnittstelle UPnP erm glicht eine Steuerung direkt ber die Ger tebenutzerschnittstelle oder auch ber die Interaktion mit einem Browser e Programmatische Steuerung Die UPnP Architektur erm glicht au erdem herk mm
127. rauf zu achten dass diese f r den Nutzer unmissverst ndlich und eindeutig sind Es sollte ebenfalls in den meisten F llen auf technische Details verzichtet werden um den Nutzer nicht mit unn tigen Informationen zu verwirren Wenn eine Benachrichtigung durch ein Problem hervorgerufen wird sollte anstatt der Beschreibung des Problems eine Probleml sung vorgeschlagen werden 4 5 Zug nglichkeit und Kompatibilit t Um eine Anwendung f r den Nutzer leichter bedienbar intuitiver und durchschaubarer gestalten zu k nnen sollte man auf einige weitere Standards des Betriebssystems zur ckgreifen In Android sind beispielsweise standardisierte Icons integriert welche dem Entwickler zur Verf gung stehen Diese Icons haben betriebssystemweit die gleichen Funktionen hinterlegt wie das Teilen von Inhalten oder die Auswahl von Favoriten Diese sollten auch in allen anderen Applikationen sinnvoll mit den gleichen Funktionen hinterlegt werden sodass der Nutzer direkt wei welche Aktion er bei Bet tigung der Schaltfl che zu erwarten hat Au erdem sollten interaktive Elemente unabh ngig von der Bildschirmgr e eine Mindestgr e besitzen sodass es dem Nutzer erm glicht wird diese an jedem Ger t einfach und zielgenau zu bet tigen und es nicht zu Frustration durch die Anh ufung von Fehleingaben kommt ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS Kapitel 5 Grundlagen Werkzeuge In diesem Kapit
128. reits eine g ltige Session besteht Ist dies der Fall werden die Nutzerdaten automatisch in die jewei ligen Textfelder eingetragen und die Beschriftung der Schaltfl chen sowie die dahinterliegende Logik wird dem entsprechend angepasst Die Schaltfl chen erm glichen dem Nutzer in diesem Fall die vorhandene Session weiterzuf hren oder sich abzumelden Die Nutzerverwaltung wird dabei durch den Connect TV Server besorgt Der Connect TV Server ist gegen eine Vielzahl von Falscheingaben abgesichert Bei der Registrie rung eines Nutzers wird berpr ft ob der Nutzername bereits vergeben ist und ob der Name oder das Passwort zu kurz ist Ein Minimum von 5 Zeichen ist in beiden F llen einzuhalten Bei der Anmeldung wird zum einen der Name zum anderem das zugeh rige Passwort berpr ft Zudem wird in der Antwort des Servers angegeben ob die Set Top Box online ist und bereit ist Befehle entgegen zu nehmen Dies ist f r den Entwickler eine wichtige Information um entsprechend darauf reagieren zu k nnen In der Applikation wird zu jeder Antwort des Servers eine entspre chende Benachrichtigung angezeigt sodass der Nutzer ein m gliches Problem genau einsehen kann Die Nutzerdaten werden am Android Ger t durch die systeminternen SharedPreferences ge speichert und geladen Ein Beispiel in den Grundlagen siehe Abschnitt 3 3 7 beschreibt dies bereits und soll somit nicht noch ein weiteres mal aufgef hrt werden Ist das Anmelden beziehungsweise das
129. rolpoint kann als Beobachter auf das Eventsystem eines Dienstes horchen indem er sich bei dessen Eventsystem anmeldet Dadurch muss nicht immer wieder der Status eines Dienstes oder dessen Variablen abgefragt werden sondern der Dienst informiert seine Beobachter falls nderungen bestehen Hierf r wird die General Event Notification Architecture GENA welche ebenfalls auf XML basiert verwendet Presentation Die Pr sentation eines Ger tes wird ber eine URL in der Description bekannt gegeben Diese ist optional und bietet eine weitere Form der Darstellung des Ger ts an Hier wird eine URL angegeben welche via HTTP ber den Browser angezeigt eine grafische Oberfl che bietet Mit dieser k nnen ebenfalls die Informationen zu einem Ger t eingesehen werden und auch dessen Dienste angesprochen werden UPnP Ger te werden au erdem wie bereits an den oben erw hnten Controlpoints und nor malen Ger ten zu erkennen ist in verschiedenen standardisierte Kategorien eingestuft Dabei wird zwischen Audio Video Basic Device Management Home Automation Networking Prin ter Remote Access Remoting Scanner Sensor Management und Telephony unterschieden Diese k nnen dann weitergehend verfeinert werden UPna Zudem werden noch weitere Add on De ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 2 5 SAT gt IP 9 Antenna Satelliten TV Signal IPTV IP NETWORK STB SAT
130. sind bereits eindeutige Anzeichen f r ein Usability Problem Auch die Werte der Effizienz liegen im Maximum bei 4 5 Diese sind nicht als Ausrei er zu sehen denn die Mittelwerte dieser Skalen liegen auch in diesem Bereich nicht mehr im akzeptablen Be reich Obgleich die Bewertung einiger Probanden diesen noch recht hoch wirken l sst Dies wird auch durch eine Standardabweichung von ber 1 1 widergespiegelt Die Nutzerzufriedenheit lag hier im Mittel noch im akzeptablen Bereich doch die Maximalwer te von 4 und die Tatsache dass nur vier Probanden sehr zufrieden waren l sst ebenfalls auf Probleme in diesem Bereich schlie en In diesem Szenario konnte das Problem schnell ausfindig gemacht werden ber 60 der Pro banden waren sich nicht dar ber im klarem dass die Fernbedienung ber mehr als eine Ansicht verf gt Nur erfahrene Nutzer sind auf die Idee gekommen dass noch mehr Ansichten vorhanden sein k nnten und haben versucht diese mit den blichen aus anderen Applikationen bekannten Gesten zu erreichen Nur ein erfahrener Nutzer Proband 7 hatte hier ebenfalls Probleme In Bezug auf Empfehlungen waren sich knapp 50 der Probanden einig dass es einen Indika tor oder wie im Hauptbildschirm die Verwendung von Tabs von N ten ist um diese Funktion pr senter zu halten Au erdem wurde mehrfach vorgeschlagen die Grundbedienungsansicht der Fernbedienung als erste Anzeige zu setzen da diese wahrscheinlich am h ufigsten zum Einsatz komm
131. sumed Running Die Activity befindet sich im Vordergrund und hat den Fokus des Nutzers e Paused Eine andere Activity liegt im Vordergrund aber verdeckt diese Activity nur be dingt entweder teilweise oder sie ist transparent Die Activity ist in diesem Status noch aktiv dabei wird das Objekt im Speicher gehalten und wird nur bei sehr starker Speicher knappheit freigegeben e Stopped Die Activity liegt vollkommen im Hintergrund Auch diese Activity ist noch im Speicher vorhanden wird aber bei Speicherknappheit ohne weiteres freigegeben Wie gerade erwahnt besitzen Activities sogenannte Callback Methoden Diese werden bei einem Wechsel der Status wie in Abbildung 3 4 verdeutlicht aufgerufen Diese Methoden k nnen in nerhalb einer jeden Activity berschrieben werden um geeignet auf die einzelnen Zust nde der ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 3 3 KOMPONENTEN 21 Activities reagieren zu k nnen So kann auf jeden Zustand oder jede unerwartete Unterbrechung reagiert werden 3 3 2 Intents Intents werden in Android als internes Nachrichtensystem verwendet Mit einem Intent k n nen andere Activities gestartet und gleichzeitig Informationen bertragen werden Dies wird mit der Methode startActivity welche den Intent bergeben bekommt durchgef hrt Au er dem k nnen mit Hilfe von Intents andere Applikationen gestartet werden welche entsprechende Module freigegeben ha
132. t entwickelten Applikation eingegan gen werden Es wird beschrieben welche Herangehensweise gew hlt wurde wie die Anwendung aufgebaut ist und warum sie auf diese Weise entwickelt wurde Au erdem werden weitere Einbli cke in die genaue Handhabung der in den Kapiteln 2 und 3 beschriebenen Grundlagen gew hrt 6 1 Anforderungen und Umsetzung Zun chst soll noch einmal ein Blick auf die zu entwickelnde Applikation geworfen werden Es wird beschrieben welche Funktionen implementiert werden sollen wie das Zusammenspiel der einzelnen Elemente aussehen soll und auf welche Details besonderer Wert gelegt werden soll Zuerst wird betrachtet welche Funktionen in der Applikation implementiert werden sollen Die folgende Liste f hrt die einzelnen Funktionen anschaulich auf Dabei wird f r den Zugriff der Applikation auf die Set Top Box aus dem gleichem Netzwerk der Begriff Heimnetzwerk und f r den Zugriff au erhalb dieses Netzwerks der Begriff entfernt verwendet e Die Applikation soll von berall einen sicheren Zugang zur Set Top Box gew hrleisten Dieser Zugang wird ber den ConnectTV Server geregelt welcher ber eine Nutzerdaten bank die Verbindung zu den einzelnen Boxen verwaltet Dabei muss der Nutzer zuvor das Nutzerkonto mit der Set Top Box verbinden dies wird als Paarung bezeichnet e Die mitgelieferte Fernbedienung soll durch die Applikation ersetzt werden k nnen Es sollen ber die Applikation alle Funktionen und Befehle durchf hrbar
133. te Layout aus dem richtigem Ordner In Zeile 11 wird das Fragment f r die Senderliste erstellt und in Zeile 13 in das erste Framelayout geladen In der Methode onActivityCreated wird daraufhin berpr ft welches Layout geladen wurde Daf r wird in Zeile 23 nach dem zwei tem FrameLayout gesucht falls dies vorhanden ist wird der boolean Wert DualPane auf true gesetzt Ist dies der Fall befindet sich das Ger t im Landscape Modus Somit wird der ben tigte Platz der Fragments entsprechend aufgeteilt und durch einen Seperator getrennt Das ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 50 KAPITEL 6 IMPLEMENTATION EPG TIMER Richter Alexander Hold 27 00 14 00 Auf Streife 14 00 15 00 ufen wohnen 8 00 Fd 12 29 a TIMER RECORDINGS RECORDINGS SAT 1 A O 27 02 17 00 18 00 mieten kaufen wohnen VOX Dokusoap ber den abwechslungsreichen Job von Immobilienmaklern Marco von Reeken erwischt heute einen schlechten Start Zuerst kommt er zu seinem Termin zu sp t dann gef llt seiner Kundin die erste Immobilie e EPG Richter Alexander Hold RECORDINGS 27 02 17 00 18 00 mieten kaufen wohnen berhaupt nicht Kann der junge Makler das 27 02 13 00 14 00 Ruder noch einmal herumrei en VOX Dokusoap ber den abwechslungsreichen Job O von Immobilienmaklern Marco von Reeken erwischt heute einen schlechten Start Zuerst kommt er zu
134. tet bevor im darauf folgenden Abschnitt genauer auf die Architektur und den exakten Ab lauf einer Kommunikation zwischen diesen eingegangen wird Die Funktionen eines handels blichen Satelliten Receivers werden bei der Verwendung von Sat gt IP auf Server und Client verteilt SES13 Das DVBS 2 Signal wird in den Server eingespeist und von diesem in ein IP basiertes Pa ketformat umgewandelt Das Signal wird dabei nicht transkodiert sondern lediglich ber einen anderen Transportweg weitergegeben Der Server ersetzt dadurch den Hochfrequenz Tuner und ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 10 KAPITEL 2 GRUNDLAGEN PVR SYSTEM Control Plane Media Plane SAT gt IP Application device and media control media stream SSDP UPnP RTSP or HTTP RTP HT Abbildung 2 5 Sat gt IP Architektur SESb Demodulator eines Receivers welcher somit nicht mehr im Client integriert sein muss Um meh rere Kan le gleichzeitig abspielen zu k nnen k nnen mehrere Tuner und Demodulatoren Parallel eingesetzt werden Der Client stellt mittels des Sat gt IP Protokolls eine Anfrage an den Server zur Bereitstellung eines Streams eines bestimmten Kanals Dieser wird daraufhin ber das Netzwerk direkt an den Client geliefert und von diesem selbst transkodiert und dargestellt Nun soll der Ablauf anhand der in Abbildung 2 5 dargestellten Architektur genauer betrachtet werden In der Sat gt IP Architekt
135. topics ui actionbar html Abruf Januar 2014 ANDROID DEVELOPERS Activities http developer android com guide components activities html Abruf Januar 2014 ANDROID DEVELOPERS Activity http developer android com reference android app Activity html Abruf Januar 2014 ANDROID DEVELOPERS ADT Plugin http developer android com tools sdk eclipse adt html Abruf Januar 2014 ANDROID DEVELOPERS Android System Architektur http developer android com images system architecture jpg Abruf Januar 2014 ANDROID DEVELOPERS App Resources http developer android com guide topics resources index html Abruf Januar 2014 ANDROID DEVELOPERS Fragments http developer android com guide components fragments html Abruf Januar 2014 ANDROID DEVELOPERS Honeycomb http developer android com about versions android 3 0 highlights html Abruf Januar 2014 ANDROID DEVELOPERS Navigation with Back and Up https developer android com design patterns navigation html Abruf Januar 2014 ANDROID DEVELOPERS Patterns https developer android com design patterns index html Abruf Januar 2014 ANDROID DEVELOPERS Processes and Threads http developer android com guide components processes and threads html Abruf Januar 2014 ANDROID DEVELOPERS Storage Options http developer android com guide topics data data storage html Abruf Januar 2014 85 86 LITERATURVERZEICHNIS Andm ANDROID DEVELOPERS
136. tragen e Das aktuelle Live Bild eines Programms soll ebenfalls im Heimnetzwerk auf dem verbun denem Android Ger t abrufbar sein Hierf r soll das Sat gt IP Protokoll verwendet werden In der Set Top Box ist f r dieses Ziel ein Sat gt IP Server integriert Abbildung 6 1 zeigt eine bersicht ber die Kommunikation der beteiligten Ger te Die Kom munikation der Set Top Box und der Android Ger te mit dem ConnectTV Server wird dabei immer ber HTTP abgewickelt Der Hauptteil der Kommunikation l uft ber die Connect TV Schnittstelle Der in der Set Top Box integrierte UPnP Server und der Sat gt IP Server sind wie die Protokolle schon vorgeben nur im gleichem Netzwerk ansprechbar und verwendbar Hier wird immer die direkte Verbindung genutzt Das HTTP Live Streaming wird zwar ber den Connect T V Server angesprochen und aktiviert die sp tere Daten bermittlung verl uft allerdings nicht mehr ber diesen sondern auch direkt mit dem Android Endger t ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 6 2 PROTOTYP MIT FLUIDUI 39 lt a Heute lt Q SET ONE SET ONE Abbildung 6 2 Mock Ups der EPG Ansicht und einer Remotecontrol Ansicht in FluidUT Bei der Entwicklung soll ein besonderes Augenmerk auf die Android Design Richtlinien gelegt werden Es soll versucht werden sie m glichst genau einzuhalten um sie sp ter ber eine Evalua tion angemessen bewerten zu k nnen Au er
137. und eine kontrollierte Navigation mittels der Zur ck und Hoch Taste gew hrleistet 6 4 5 Aufnahmen Die Abbildungen 6 8 a b und c lassen bereits erahnen dass der Aufbau der Aufnahmean sicht nahezu identisch zur Planer Ansicht ist Dies ist auch weitestgehend der Fall Es werden f r das Grunddesign die Datenverarbeitung und haltung sowie die Anpassung des Layouts an den Landscape Modus die gleichen Methoden wie schon in der EPG und Planer Ansicht verwendet Daher soll nun nur kurz auf die Funktionen dieser Bildschirmansicht sowie auf einige Punkte ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 52 KAPITEL 6 IMPLEMENTATION bez glich der Android Design Richtlinien eingegangen werden Die Aufnahmeansicht verf gt auch ber zwei Ebenen Zum einen die Aufnahmeliste a und zum anderem die Elementinformationen b Diese k nnen ebenfalls in einer Landscape Ansicht c zusammengefasst werden Die Aufnahmeliste zeigt alle bereits aufgezeichneten Sendungen sortiert nach der Startzeit an Hier hat der Nutzer au erdem eine bersicht ber den Status seiner Aufzeichnungen zu welchem Zeitpunkt diese waren und auf welchem Sender diese ausgestrahlt wurden In der detaillieren Elementinformation einer Aufnahme kann der Nutzer diese wenn gew nscht l schen oder direkt anschauen Die Wiedergabe der Aufzeichnungen erfolgt im Heimnetzwerk ber das UPnP Protokoll und entfernt ber HTTP Live Stre
138. und erl utert Alle hier aufgef hrten Elemente und Funktionen st tzen sich auf die Beschreibungen aus den Android Entwickler Design Richtlinien Andj Anda 4 1 Struktur und Navigation Die Hierarchie der Applikationsstruktur sollte immer m glichst flach bleiben um keine Verwir rung beziehungsweise Orientierungslosigkeit beim Nutzer hervorzurufen Zudem bietet dies die M glichkeit schnell und mit wenigen Klicks innerhalb der Anwendung zu navigieren Beim Start einer Applikation sollte eine Top level view angezeigt werden Hier sollte dem Nutzer bereits ein berblick ber die Hauptfunktion beziehungsweise ein schneller Zugriff auf die meist verwendeten Funktionen erm glicht werden Die n chste Schicht sollte zun chst eine Category view darstellen um einfaches bersichtliches Navigieren innerhalb der Daten zu gew hrleisten Diese ist bei weniger komplexen Gebieten nicht zwingend erforderlich Die letzte Schicht wird durch sogenannte Detail edit views gestellt Hier soll der Nutzer wie der Name schon sagt mit den Details seiner ausgew hlten Funktion oder Information konfrontiert werden Innerhalb der Top level views sollte zudem eine schnelle Navigation zum Beispiel durch ver schiedene direkt ausw hlbare Tabs Dropdown Men s oder das sogenannte swipen bereitge stellt werden Um die Navigation noch weiter zu vereinfachen und bersichtlicher zu gestalten wird die Verwendung der in Android 3 0 eingef
139. und unerwartete Wendungen und berraschungen sind typisch f r die hier vorgef hrten F lle RTL Television Auf Streife 27 02 14 00 SAT 1 Im Namen der Gerechtigkeit Wir k mpfen f r S VOX 7 Anw lte im Einsatz A 27 02 16 00 kabel eins Mein dunkles Geheimnis 27 02 17 00 ProSieben Schicksale und pl tzlich ist alles anders SET ONE DIGITAL Na 5 a INM NO MONO NO NO SET ONE Q a Senderliste b Programmliste c Programminformation Abbildung 6 5 Ansichten der EPG Bildschirme Portrait Daten nachgeladen Den kompletten Datensatz vor dem Start zu laden wiirde zu einer erhebli chen Zeitverz gerung zu Beginn der Anwendung f hren Da davon ausgegangen wird dass der Gro teil der Nutzer meist gezielt etwas Einprogrammieren oder Abrufen will w rde dies zu ei nem erh hten Mehraufwand f hren Durch das einzelne Nachladen der Informationen wird die Applikation zwar etwas langsamer zu bedienen sein doch der Nutzen eines vorher komplett geladenen TV Programms w rde diesem nicht berwiegen Die Informationen werden mittels des im Abschnitt 2 3 beschriebenen Verfahrens via HTTP abgerufen Da das Laden von Daten im gleichem Thread die reibungslose Nutzung des Nutzerin terfaces beeintr chtigen k nnte wird in Android zum Laden von externen Daten ein Hintergrund Task gestartet Im Falle dieser Arbeit wird daf r immer ein AsyncTask verwendet So kann die Nutzeroberfl che weiterhin ohne Ver
140. ur wird zwischen der Control Plane und der Media Plane unter schieden ber die Media Plane wird der Media Stream bertragen und ber die Control Plane wird die weitere Kommunikation abgehandelt wie beispielsweise die Beschreibungen der Ger te und dessen Funktionen oder die Auswahl eines entsprechenden Kanals Control Plane Das Finden von Client und Server untereinander innerhalb eines Netzwerks sowie ein Austausch ber Informationen und Funktionen wird ber das bereits in Kapitel 2 4 vorgestellte UPnP abgewickelt Somit kommen auch hier nur Standard Technologien wie UDP oder SSDP zum Einsatz F r die Steuerung der Ger te und der vom Server verwalteten Medien Streams wird das Real Time Streaming Protocol RTSP oder HTTP verwendet Der Server unterst tzt dabei beide Protokolle bei gleicher Funktionsanwendung Media Plane Der Medien Stream selbst hier ein Stream eines einzelnen Kanals wird ber das Real Time Transport Protocol Real Time Control Protocol RTP RTCP oder ebenfalls ber HTTP realisiert Zur Verdeutlichung der Steuerung eines Medien Streams durch einen Client wird anhand von Abbildung 2 6 ein kleines Beispiel vor Augen gef hrt Setup Zur Erstellung einer Session wird eine RTSP SETUP Anfrage an den Server gesendet Diese Anfrage beinhaltet alle Informationen dar ber welcher Kanal wiedergegeben werden soll beziehungsweise unter welcher Frequenz Polarisation Symbolrate und weiteres der Kanal zu finden ist Der Server
141. werden und am gleichem Punkt der Anwendung wieder eingestiegen werden an dem diese verlassen wurde Abschlie end ist zum HLS jedoch zu sagen dass auf Seiten des ConnectTV Servers hier noch ein Problem vorliegt welches bis zum Abschluss der Arbeit nicht von DiscVision gel st werden konnte Der Server zeigt an dass die entsprechenden Aufzeichnungen vorhanden sind Allerdings wird auf Anfrage mittels der entsprechenden ID kein Stream bereitgestellt Diese Fehlfunktion ist auch in einem Browser ber die entsprechenden HTTP Anfragen reproduzierbar Die Funktion selbst ist innerhalb der Applikation aktiviert und getestet Sie sollte nach der Beseitigung des Problems seitens des ConnectTV Servers ohne weitere nderungen in der Anwendung lauff hig sein 6 9 Sat gt IP Das Sat gt IP Protokoll wird verwendet um im Heimnetzwerk das Abspielen des aktuellen Fern sehprogramms auf dem Android Ger t zu erm glichen Dem Nutzer wird f r diesen Zweck in nerhalb der EPG Ansichten eine Abspiel Taste an den verschiedenen Sendern und am aktuellem Programm angezeigt ber diese Schaltfl che kann unter Verwendung des MX Players die Wie dergabe des Programms gestartet werden ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 64 KAPITEL 6 IMPLEMENTATION Zun chst wird ber das dem Sat gt IP zugrundeliegende UPnP Protokoll im Netzwerk nach einem Sat gt IP Server gesucht Hierf r wird ein M SEARCH Multicast im N
142. werden und immer verf gbar sein auch wenn die Anwendung einmal vollst ndig beendet wurde Darunter fallen beispielsweise der Nutzername und das Passwort oder die Einstellungen Um diese permanent zu speichern werden SharedPreferences verwendet Diese werden durch das Betriebssystem auf dem Ger t abgelegt und k nnen jederzeit in der Anwendung abgerufen werden Android stellt hier au erdem die ben tigte Sicherheit sodass auf diese Daten au erhalb der Anwendung kein Zugriff m glich ist Bei Deinstallation der Anwendung werden die gespeicherten Daten ebenfalls durch Android entfernt ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 60 KAPITEL 6 IMPLEMENTATION Das Android Betriebssystem stellt ber die Ressourcen eine einfache M glichkeit mehrere Sprach dateien einzubinden Um dies nutzen zu k nnen m ssen die in Abschnitt 3 3 5 vorgestellten String Dateien verwendet werden Die Standardsprachdatei wird dabei im Ordner values ab gelegt In dieser Arbeit wurde die Standardsprache mit Englisch gesetzt da dies die meist ver breitetste Sprache ist Um aber auch eine deutschsprachige Version anbieten zu k nnen wurde eine weitere String Datei des gleichen Namens mit den deutschen bersetzungen erstellt Diese Datei wurde im neu erstellten Ordner values de abgelegt Ist die Betriebssystemsprache nun auf deutsch eingestellt wird in der Applikation automatisch der Ordner mit der entsprechen
143. wird die Manifest Datei welche die Grundlage einer jeden An droid Applikation bildet betrachtet und Schritt f r Schritt erkl rt Abschlie end wird die Umsetzung der angewendeten Protokolle UPnP HLS sowie Sat gt IP be schrieben Im siebten Kapitel wird die Applikation mit Hilfe einer Evaluation hinterfragt Hier wird zun chst der Ablauf erkl rt darauf folgt die Beschreibung der Anwendungsszenarien des Usability Tests sowie der Bewertungsmethodik Zum Ende hin werden die Ergebnisse des Tests beschrieben und ausgewertet Zum Schluss der Arbeit folgt ein Fazit in welchem die Durchf hrung der Arbeit bewertet wird Dabei wird zum einen Bezug auf die Erreichung der gesteckten Ziele genommen Zum anderen soll versucht werden die einzelnen Komponenten zu bewerten Au erdem werden sowohl die Android Tools API und Design Richtlinien kritisch betrachtet als auch die verwendeten Protokolle des Connect TV Servers UPnP HLS sowie Sat gt IP bewertet ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS Kapitel 2 Grundlagen PVR System 2 1 DiscVision Die DiscVision GmbH ist eine auf die Forschung und Entwicklung von modernen und funktio nellen PVR Systemen spezialisierte Firma Sie wird geleitet von Herrn Reinhard L ling welcher auch einer der Ansprechpartner und Betreuer dieser Arbeit ist Der Firmensitz befindet sich der zeit in Paderborn Deutschland und es ist ein Team zwischen 5 bis 10 Entwickler
144. ww ses com 4233325 news 2012 11403011 Version April 2012 ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 88 LITERATURVERZEICHNIS SES13 SES S A SAT gt IP Protocol Specification Version 1 2 http www satip info sites satip files resource satip_specification_version_1_2 pdf Version M rz 2013 UPna UPNP Forum Device Control Protocols http upnp org index php sdcps and certification standards sdcps Abruf Januar 2014 UPnb UPNP Forum What is UPnP http upnp org about what is upnp Abruf Januar 2014 UPn08 UPNP Forum UPnP Device Architecture 1 1 http upnp org specs arch UPnP arch DeviceArchitecture v1 1 pdf Version Oktober 2008 URSW 88 UNEMA P ROTTING M SEPHER WILLENBERG M STR MPFEL U KOPP U Der NASA Task Load Index Erste Ergebnisse mit der deutschen Fassung Jahresdokumentation 1988 der Gesellschaft fiir Arbeitswissenschaft e V Bericht zum 34 Arbeitswissenschaftlichen Kongress an der RWTH Aachen Gesellschaft fiir Arbeitswissenschaft e V 1988 Wif WIFIMAKU COM Mobiltelefon Betriebssysteme http wifimaku com online marketing mobile marketing und mobile applikationen mobile applikationen und ger C3 A4te mobiltelefon betriebssysteme Abruf Januar 2014 ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS Anhang A Unterlagen zur Evaluation 90 ANHANG A UNTERLAGEN ZUR EVALUA
145. xtends AsyncTask lt String Void Bitmap gt The system calls this to perform work in a worker thread and delivers it the parameters given to AsyncTask ezecute protected Bitmap doInBackground String urls return loadImageFromNetwork urls 0 The system calls this to perform work in the UI thread and delivers the result from doInBackground protected void onPostExecute Bitmap result mImageView setImageBitmap result Listing 3 1 Beispiel eines AsyncTasks Andk In Zeile 2 wird der AsyncTask ber die Methode onClick erstellt und ausgef hrt Innerhalb des Tasks in Zeile 8 10 wird dann in der Methode doInBackground die Aufgabe im Hintergrund gestartet in diesem Beispiel wird ein Bild von einer bergebenen URL geladen In der Methode onPostExecute in den Zeilen 14 16 wird nach Abschluss des Ladevorgangs wieder im UI Thread gearbeitet und das Bild entsprechend gesetzt So wird die Interaktion der UI mit dem Nutzer nicht eingeschr nkt und es f hrt zu keinen merklichen Verz gerungen 3 3 4 Fragments Fragments wurden mit Android 3 0 eingef hrt und geh ren zu den wichtigen Neuerungen f r die Anpassung der Bildschirmansicht an gr ere Bildschirme wie bei Tablets Durch die Einbindung der von Google bereitgestellten Android Support Library Andn ist es jedoch auch m glich die Fragments bereits in vorherigen Android Versionen nutzen zu k nnen Somit ist dies auch in dieser Arbeit i
146. z gerungen genutzt werden und die Daten nach Beendigung des Hintergrund Tasks in die Oberfl che eingebunden werden Die Daten werden vom Connect TV Server in XML Format zur ckgeliefert werden in der An wendung im Hintergrund von einem XML Parser geparst und im Model in einem passendem Format abgelegt Dies ist im Falle des EPGs eine verschachtelte Liste Diese Liste wird mit selbst erstellten Objekten gef llt Dabei wird zun chst eine Liste der Sender angelegt jedes Lis tenelement eines Senders beinhaltet neben den Senderdaten eine Liste des Programms Dieses Programm kann in einem weiterem Schritt mit zus tzlichen Informationen erweitert werden Einmal geladene Daten werden im Model persistent gehalten und m ssen somit bei erneutem Aufruf nicht ein weiteres mal geladen werden Aus diesem Grund beinhaltet jedes Objekt eines Senders die Information ber das letzte Update der Senderdaten Nur wenn das Update zu weit in der Vergangenheit liegt werden die Daten neu geladen ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS 6 4 BILDSCHIRMANSICHTEN 47 Tal 12 28 A CA 27 02 12 00 13 00 O NA Fal 12 28 15 SAT 1 EPG a Das Erste HD Richter Alexander Hold O 27 02 12 00 TT ZDF HD Richter Alexander Hold Richter Alexander Hold RTL Television 27 02 13 00 Richter Alexander Hold Hauptdarsteller dieser pseudo dokumentarischen y 27 02 13 00 Gerichtshow ist Alexander Hold als Vorsit
147. zeigt sind diese einfach gehalten aber dem Android Standard entsprechend Die Activity ist dabei eine speziell f r die Einstellungen einer Anwendung vergesehene SettingsActivity Die Ein stellungen k nnen direkt im Source Code generiert werden werden aber im Normalfall durch eine XML Datei welche innerhalb der Ressourcen im Ordner xml abgelegt ist generiert Listing 6 8 zeigt den Aufbau einer leicht verk rzten XML Definition der Einstellungen dieser Anwendung Jedes Element verf gt dabei ber einen Titel und eine kurze Zusammenfassung ENTWICKLUNG EINER ANDROID APPLIKATION ZUR FERNSTEUERUNG UND NUTZUNG EINES PVR SYSTEMS vo ou WN Ke boa aun fF WN fF OO 6 4 BILDSCHIRMANSICHTEN 97 welche in der App direkt unter dem Titel angezeigt wird In dieser Definition werden zwei Ein stellungspunkte erstellt Der Erste wird in der XML direkt mit Logik hinterlegt Es handelt sich dabei um den Einstellungspunkt der Paarungs Activity Da hier keine variablen Informationen hinzugef gt werden m ssen kann einfach innerhalb der XML Datei ein Intent hinterlegt werden Dem Intent wird dabei eine Aktion hier der Aufruf einer Activity und das Ziel bergeben Das Ziel ist ber das Paket und die Klasse genau definiert Die Definition dieser Klasse wird innerhalb des Manifests vorgenommen So wird direkt beim Aufruf dieses Einstellungspunktes der Intent verschickt und die Paarung geladen Der zweite Eintrag in der XML Datei verf gt nicht
148. zender Richter Staatsanw lte und Verteidiger werden Auf Streife von wirklichen Rechtsanw lten verk rpert lautstarke verbale bergriffe und unerwartete Wendungen und berraschungen sind typisch f r oS die hier vorgef hrten F lle Auf Streife 27 02 14 00 VOX 27 02 14 00 Im Namen der Gerechtigkeit Wir k mpfen f r y Sie kabel eins 270 Im Namen der Gerechtigkeit Wir SET ONE 2 15 00 a Sender und Programmliste b Programmliste und informationen Abbildung 6 6 Ansichten der EPG Bildschirme Landscape 6 4 3 3 Design In den Listen sind zus tzlich Schaltfl chen f r den schnellen Start oder eine schnelle bersicht einer Funktion eingebunden In jeder der drei Ebenen ist eine Abspiel Taste integriert Wenn der Nutzer sich das aktuelle Programm eines Senders live anschauen m chte so kann er dieses direkt ber die Abspiel Taste starten Diese Schaltfl che wird nur angezeigt wenn diese Funktion auch verf gbar ist Da diese Funktion ber das Sat gt IP Protokoll zur Verf gung gestellt wird ist eine Verwendung nur im Heimnetz m glich und wird somit auch nur dort angezeigt In der dritten Ebene wird dem Nutzer die M glichkeit geboten die ausgew hlte Sendung mit der Set Top Box aufzuzeichnen Diese Funktion wird ebenfalls durch den Connect TV Server koordi niert Dabei wird auf der Set Top Box darauf geachtet ob eine Aufnahme der Sendung m glich ist und sich nicht mit anderen Aufnahmen berschneidet

Download Pdf Manuals

image

Related Search

Related Contents

Operating Instructions for Travel Charger  puree de pommes de terre flocons nature fiche technique  取扱説明書 - ワイズギア  TRK Montageanleitung Einzelröhre  SlimScan User Manual  取扱説明書ダウンロード  Metra 99-1004 mounting kit  ANTIPAC N° 90 1er Trimestre 2004 7  Operating Instructions  SiCan Data Sheet Ver 1.3  

Copyright © All rights reserved.
Failed to retrieve file