Tutorial: Entwicklung eines TvDataService: Unterschied zwischen den Versionen

Aus TV-Browser Wiki
Wechseln zu: Navigation⧼comma-separator⧽Suche
Bodo⧼word-separator⧽⧼parentheses⧽
⧼parentheses⧽
Bodo⧼word-separator⧽⧼parentheses⧽
⧼parentheses⧽
Zeile 19: Zeile 19:
 
= Implementieren =
 
= Implementieren =
  
Entwickle eine Klasse, die das Interface <code>tvdataservice.TvDataService</code> implementiert.
+
Entwickle eine Klasse, die von der Klasse <code>devplugin.AbstractTvDataService</code> erbt.
  
 
Anmerkungen:
 
Anmerkungen:
* Statt das Interface TvDataService direkt zu implementieren, kann auch die Klasse <code>util.tvdataservice.AbstractTvDataService</code> verwendet werden.
 
 
* Sämtliche Methoden dieser Klasse werden von der Host-Applikation (also dem TV-Browser) aufgerufen und sind somit die Einstiegspunkte des Plugins.
 
* 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''
 
* Die Klasse muss in einem Package liegen, das den selben Namen wie die Klasse selbst hat, allerdings in Kleinbuchstaben. Beispiel : ''mytvdataservice.MyTVDataService''

Version vom 1. Januar 2008, 18:56 Uhr

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.

Rechtliches

Wir werden nur DatenServices unterstützen, die die Daten auf legalem Wege besorgen. Dies bedeutet:

  • Keine DatenServices, die Daten aus Webseiten auslesen, ohne die Genehmigung der Webseite
  • Keine DatenServices, die Daten aus lokalen Datenbanken (z.B. eine Access-Datenbank) auslesen, ohne die Genehmigung des Herstellers der Daten in dieser Datenbank


Entwicklungsumgebung einrichten

Siehe TV-Browser_Build-Anleitung.

Implementieren

Entwickle eine Klasse, die von der Klasse devplugin.AbstractTvDataService erbt.

Anmerkungen:

  • 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.

Hochladen

Dein Plugin kannst du auf TVBrowser.org im Entwickler-Bereich hochladen und somit allen Nutzern verfügbar machen.