Tutorial: Entwicklung eines TvDataService

Aus TV-Browser Wiki
Version vom 31. Dezember 2007, 12:10 Uhr von Bodo⧼word-separator⧽⧼parentheses⧽ ⧼parentheses⧽
⧼revision-nav⧽
Wechseln zu: Navigation⧼comma-separator⧽Suche

Allgemeines

Die TV-Daten werden in TV-Browser über spezielle Plugins - wir nennen sie DataServices - geladen. Auf diese Weise läßt sich TV-Browser beliebig um weitere Sender erweitern (vorausgesetzt, jemand verfügt über die TV-Daten und schreibt ein DataService dazu).

Dieses Tutorial beschreibt die Entwicklung eines DataServices in den Grundzügen. Als weitere Hilfen empfehle ich das TvDataStarterKit, einen Blick in die JavaDoc-Dokumentation von TV-Browser bzw. den Quellcode der existierenden DataServices.

Entwicklungsumgebung einrichten

Siehe TV-Browser_Build-Anleitung.

Implementieren

Entwickle eine Klasse, die das Interface tvdataservice.TvDataService implementiert.

Anmerkungen:

  • Statt das Interface TvDataService direkt zu implementieren, kann auch die Klasse util.tvdataservice.AbstractTvDataService verwendet werden.
  • Sämtliche Methoden dieser Klasse werden von der Host-Applikation (also dem TV-Browser) aufgerufen und sind somit die Einstiegspunkte des Plugins.
  • Die Klasse muss in einem Package liegen, das den selben Namen wie die Klasse selbst hat, allerdings in Kleinbuchstaben. Beispiel : mytvdataservice.MyTVDataService

Jar-Datei erstellen

Als nächstes müssen wir das DataService in eine einzige Datei zusammenpacken, damit man es leicht installieren und anderen Leuten anbieten kann.

Mit folgendem Befehl wird nun die Jar-Datei erstellt:

jar cvf MyTVDataService.jar mytvdataservice

Wichtig: Der Dateiname der Jar-Datei muss dabei mit dem Namen der oben erstellten Klasse identisch sein (Auch Groß-/Kleinschreibung beachten!).

Installation

Kopiere die eben erstellte Jar-Datei in das Verzeichnis plugins deiner TV-Browser-Installation. Jetzt musst du nur noch TV-Browser neu starten und schon kannst du dein DataService benutzen, indem du in der Senderkonfiguration die Senderliste aktualisierst.