Plugin-Schnittstelle für Android

Alles, was kein Problem/Verbesserungsvorschlag ist
Antworten
ds10
Site Admin
Beiträge: 19095
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Plugin-Schnittstelle für Android

Beitrag von ds10 »

Ich habe eine neue Beta-Version bei Google Play hochgeladen, die eine erste Version der Plugin-Schnittstelle enthält.

Für diese Plugin-Schnittstelle gibt es ein erstes Plugin, das man hier runterladen und dann manuell installieren kann:
http://www.tvbrowser.org/downloads/test ... Plugin.apk

Die aktuelle Beta-Version von TV-Browser kann man auch manuell runterladen und installieren, wenn man nicht warten möchte:
http://www.tvbrowser.org/downloads/test/TV-Browser.apk
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Benutzeravatar
Siggi
Moderator
Beiträge: 2271
Registriert: 31 Dez 2003, 12:21
Wohnort: Doberlug - Kirchhain

Re: Plugin-Schnittstelle für Android

Beitrag von Siggi »

Sehr cool ds10, nur leider mangelt es an Entwicklern.

Daher wird meine Nachfrage nach einer Unterstützung der DVBViewer Sender in der App auch im Sande verlaufen.

Aber echt großen Dank für die Arbeiten.
mfg Siggi

PS: Wer Fehler findet, darf Sie behalten!!! :-)
ds10
Site Admin
Beiträge: 19095
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Plugin-Schnittstelle für Android

Beitrag von ds10 »

Die jetzt möglichen Plugins sind keine Datenplugins, können also auch keine Sender hinzufügen. Plugins können Funktionen für das Kontextmenu hinzufügen, also wäre damit durchaus auch die Programmierung von Aufnahmen möglich. Und dazu muss niemand eine neue App schreiben, wenn es bereits eine App gibt, mit der man Aufnahmen programmieren kann, dann kann der App-Entwickler recht einfach einen Service für diese App schreiben, der dann als Plugin in TV-Browser erscheint.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
ds10
Site Admin
Beiträge: 19095
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Plugin-Schnittstelle für Android

Beitrag von ds10 »

Anleitung für das Schreiben von Plugins für die Android-App:
http://wiki.tvbrowser.org/index.php/And ... ntwicklung
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
ds10
Site Admin
Beiträge: 19095
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Plugin-Schnittstelle für Android

Beitrag von ds10 »

Wie versprochen (oder angedroht :twisted:) habe ich die Kalender-Export-Funktion jetzt aus der TV-Browser-App entfernt:
http://www.tvbrowser.org/downloads/test/TV-Browser.apk

Eine aktualisierte Version des Share-Plugins:
http://www.tvbrowser.org/downloads/test ... Plugin.apk

Ein neues Plugin, das den Kalender-Export wieder nachrüstet:
http://www.tvbrowser.org/downloads/test ... Plugin.apk
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Benutzeravatar
Siggi
Moderator
Beiträge: 2271
Registriert: 31 Dez 2003, 12:21
Wohnort: Doberlug - Kirchhain

Re: Plugin-Schnittstelle für Android

Beitrag von Siggi »

Hi ds10,

ich habe mal die Beta Versionen auf meinem Galaxy S4 mit Android 4.4.2 getestet.
Ich habe die App und die Plugins händisch installiert.

Beim Öffnen der Plugin-Einstellungen stürzt der TV-Browser komplett ab und startet sofort neu.

Des Weiteren wird die Anzeige nicht aktualisiert, wenn ich in den Einstellungen "Daten löschen" auswähle.
Erst nach Neustart des TV-Browsers sind alle Daten aus der Anzeige verschwunden.

Dank dir.
mfg Siggi

PS: Wer Fehler findet, darf Sie behalten!!! :-)
ds10
Site Admin
Beiträge: 19095
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Plugin-Schnittstelle für Android

Beitrag von ds10 »

Es gibt neue Updates für TV-Browser und die Plugins sowie ein neues Plugin:
http://www.tvbrowser.org/downloads/test ... Plugin.apk

Damit sind grundsätzlich die Funktionen, die TV-Browser nicht mehr anbietet, über Plugins wieder installierbar.

PS: Dass die Anzeige nicht sofort aktualisiert wird, wenn die Daten gelöscht werden weiß ich, das halte ich aber für unwichtig, denn die Datenlöschung ist eigentlich nur für Testzwecke vorhanden oder falls wirklich gar nichts mehr geht.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Benutzeravatar
Siggi
Moderator
Beiträge: 2271
Registriert: 31 Dez 2003, 12:21
Wohnort: Doberlug - Kirchhain

Re: Plugin-Schnittstelle für Android

Beitrag von Siggi »

Funktioniert nun wieder super. Danke.

Dass man die Einstellungen der Plugins zweimal anklicken muss, bis die aufgehen ist bissel merkwürdig aber so oft muss man da ja nicht ran.

Nun müsste es einen Entwickler geben, der das Teilen auf die vorhandenen Apps erweitert.
Also Mail-App, WhatsApp etc.
Diese Übersicht könnte doch eine Systemfunktion sein, oder?

Großen Dank für die Arbeiten.
mfg Siggi

PS: Wer Fehler findet, darf Sie behalten!!! :-)
ds10
Site Admin
Beiträge: 19095
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Plugin-Schnittstelle für Android

Beitrag von ds10 »

Siggi hat geschrieben:Dass man die Einstellungen der Plugins zweimal anklicken muss, bis die aufgehen ist bissel merkwürdig aber so oft muss man da ja nicht ran.
Das ergibt sich aus dem Einstellungslayout von Android, auf Tablets muss man nicht zweimal klicken.
Siggi hat geschrieben:Nun müsste es einen Entwickler geben, der das Teilen auf die vorhandenen Apps erweitert.
Also Mail-App, WhatsApp etc.
Das Teilen-Plugin öffnet eine Auswahl mit allen Apps, die das System für die Teilen-Funktion als brauchbar ansieht, bei mir sind das neben den Mail-Apps auch noch SMS, Firefox, Google, ein Texteditor und noch ein paar andere Sachen. Theoretisch sollte WhatsApp auch dabei sein, wenn schon die SMS-App angezeigt wird. Ich habe aber kein WhatsApp, daher kann ich das nicht testen.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Benutzeravatar
Siggi
Moderator
Beiträge: 2271
Registriert: 31 Dez 2003, 12:21
Wohnort: Doberlug - Kirchhain

Re: Plugin-Schnittstelle für Android

Beitrag von Siggi »

Hi,

ja funktioniert wie du gesagt hast. und WhatsApp ist auch dabei.

Ich hatte nur in die Einstellungen des Plugins geschaut und zu wenig getestet.

Dank dir.
mfg Siggi

PS: Wer Fehler findet, darf Sie behalten!!! :-)
Fillip11
Newbie
Beiträge: 6
Registriert: 17 Feb 2013, 20:35

Re: Plugin-Schnittstelle für Android

Beitrag von Fillip11 »

Hi,

seit gestern sind bei mir die Plugins aktiviert. Da musste ich natürlich gleich damit herumspielen. Vielen Dank schon einmal für die super Umsetzung bisher.

Wie einige Andere auch, würde ich mich über ein Plugin zur Aufnahmesteuerung freuen. Es gibt ja z.B. noch diesen http://hilfe.tvbrowser.org/viewtopic.php?f=46&t=16528 und diesen http://hilfe.tvbrowser.org/viewtopic.php?f=49&t=16331 Thread.

Ich benötige aber nur das Umschalten zu einem Sender am TV-Gerät und nicht das Programmieren oder Löschen einer Aufnahme. Das Teilen-Plugin wäre dafür sogar schon fast ausreichend.

Der Fernseher ist immer noch der Selbe aus diesem Thread http://hilfe.tvbrowser.org/viewtopic.php?f=41&t=15899, ein Philips PFL4000er aus dem Jahr 2011, den man über JointSpace bedienen kann. Zum Umschalten muss dazu nur ein Objekt {Schlüssel:Wert} im JSON-Format an eine feste URL gesendet werden.

- die URL ist dabei immer z.B. http://192.168.xxx.xxx:1925/1/channels/current
- der Schlüssel ist immer "id"
- der Wert ist eine alternative Senderbezeichnung
- Beschreibungen, Startzeit, Dauer, etc. werden nicht benötigt

Das Teilen-Plugin beinhaltet bereits das Senden von Daten an eine URL (aber als mailto) und diese Daten können den Sendernamen enthalten. Fehlt also prinzipiell nur das Erstellen einer Liste mit den alternativen Namen der Sender.

Das Plugin "Umschalten für FRITZ!WLAN Repeater DVB-C DEMO" zeigt eine Variante für ein mögliches "channel mapping". Leider fehlt mir die Hardware, um das Plugin zu testen. Aber es sieht wohl so aus, als sei dort viel mit automatischer Erkennung gearbeitet worden. An sich eine wundervolle und durchdachte Arbeit, für mich aber gar nicht notwendig. Ich brauche weder eine automatische Geräteerkennung noch eine automatische Senderlistenabholung mit anschließender manuellen Zuordnung. (hoffe das richtig interpretiert zu haben)
Und leider (aber verständlicherweise) gibt es auch keinen Quellcode zu dem Plugin.

Ich bin kein ausgebildeter Programmierer, kann (noch) kein Java und habe auch keine Erfahrung im Schreiben von Androidapps.

Und jetzt endlich zu meinen Fragen:

1. Lohnt es sich (abgesehen vom Erkenntnisgewinn), das Teilen-Plugin als Grundlage zu nehmen, in Java einzusteigen und in einer Woche (oder eher drei Monaten ;) ) ein halbwegs unausgegorenes Plugin in der Hand zu haben?

2. Soll ich darauf warten, dass es ein Aufnahmeplugin gibt, zu dem ich dann "nur" einen Service schreiben müsste?

Ich möchte aber auf keinen Fall in irgend einer Weise Druck machen oder Euch nerven. Ihr macht das schon und je länger es dauert, desto besser wird es. Aber irgendwie will ich auch mal einen kleinen Beitrag zum TVBrowser leisten.

(Version 0.5.3.2 auf Samsung S3 mit Android 4.3)
ds10
Site Admin
Beiträge: 19095
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Plugin-Schnittstelle für Android

Beitrag von ds10 »

Ich werde kein Plugin, wie die Aufnahmesteuerung schreiben. Es wird wohl ein Plugin für den Remotemodus von WinTVCap-GUI/SimplePVR geben. Es ist für die App auch weniger sinnvoll eine Aufnahmesteuerung analog zur Desktop-Version zu schreiben, denn es gibt eher weniger Aufnahmeprogramme für Android selbst, in der Regel wird das über das Netzwerk laufen.

Das heißt natürlich nicht, dass es jemand Anderem verboten wäre eine Aufnahmesteuerung zu entwickeln. Die Plugin-Schnittstelle habe ich ja gerade dafür eingebaut, dass TV-Browser auch auf Android flexibel erweitert werden kann.

Deine 2. Frage ist damit wohl beantwortet, zu deiner 1. Frage kann ich nur sagen, dass es sich auf jeden Fall lohnt zu lernen für Android zu programmieren, ganz unabhängig von TV-Browser, denn man kann sich dafür ganz nette Tools basteln, falls es sie nicht geben sollte. Das Teilen-Plugin kannst du natürlich prinzipiell ansehen, wie es funktioniert, aber auf diese Weise wird sich wohl kein Befehl über das Netzwerk verschicken lassen, denn die Intents, die auch beim Teilen verwendet werden, bleiben auf dem Gerät selbst. Man müsste also schon eine Java-Funktion benutzen um Kontakt mit dem Fernseher aufzunehmen, aber schwer wäre das nicht, bei den geringen Anforderungen, die an das Umschalten selbst gestellt werden.

Die Wiki-Seite wie man ein Plugin für TV-Browser für Android schreibt, hast du ja sicher schon gefunden. Für die Netzwerkverbindung würde ich das Standardwerk für Java-Programmierung empfehlen: http://openbook.galileo-press.de/javain ... 21_001.htm und für Android-Programmierung die Android Developer Guide. Es wäre auf jeden Fall hilfreich, wenn du prinzipiell Programmiererfahrung hast (am Besten in einer höheren Programmiersprache), die Sprache ist dabei nicht ganz so wichtig. Mit etwas Aufwand wird man neue Sprachen auch lernen, wenn man das wirklich möchte, denn prinzipiell funktioniert Programmierung in höheren Sprachen immer auf die gleiche Weise, auch wenn natürlich jede Sprache von sich behauptet das absolute Beste zu sein.

Bei Fragen würde ich natürlich immer helfen, wenn ich kann, allerdings sollten die Fragen nicht das betreffen, was in den Guides steht, es sei denn das was da steht ist absolut unverständlich. Denn Fragen wie: Was ist eine XML-Datei? sind Fragen, die an anderer Stelle weit besser erklärt sind, als ich das könnte.

Dinge die du brauchst um die gewünschte Lösung zu erreichen:
  • Eclipse
  • ADT
  • Android SDK (wird beim Android Developer Guides alles direkt angeboten)
  • grundlegende Dinge der Java-Programmierung (Klassen, Methoden, Variablen, Array, Listen, if-else-Bedingungen, Schleifen)
  • grundlegendes Verständnis von Begriffen wie Intent, Activity, Service, XML
  • Durchhaltevermögen
  • und nicht zuletzt Zeit
Auch wenn das alles zu Beginn oft so wirkt, als würde man das nie schaffen, es ist letztendlich gar nicht so schwer. :-)

(Ich würde um ein solches Plugin zum Laufen zu bringen wahrscheinlich nicht länger als 3h brauchen, das aber auch, weil ich viel von meinem Quellcode kopieren könnte. Programmieren ist oft nur abschreiben und abwandeln.)
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Fillip11
Newbie
Beiträge: 6
Registriert: 17 Feb 2013, 20:35

Re: Plugin-Schnittstelle für Android

Beitrag von Fillip11 »

Danke für die ausführliche Antwort und besonders die Links.

Die Feiertage waren jetzt nicht der ideale Zeitpunkt, um mit Java / Android anzufangen. Inzwischen habe ich es aber geschafft, aus Eclipse heraus mit dem Fernseher zu kommunizieren. Die Lernkurve war dabei für mich besonders zu Beginn sehr steil, weil ich bisher noch nie mit einer IDE wie Eclipse gearbeitet habe und auch noch nie mit OOP engeren Kontakt hatte. Aber über die schlimmsten Einstiegshürden bin ich jetzt hoffentlich drüber. Meine nächsten Schritte mache ich erst einmal in AndroidStudio. Es ist dann ab jetzt wohl nur eine Fleißaufgabe, da alles so gut dokumentiert ist.

Vor allem möchte ich Dir auch noch mal ausdrücklich für die Motivation danken, das Projekt selbst anzugehen und mir nicht die fertige Lösung vorgesetzt zu haben. So haben wir beide was davon.
Fillip11
Newbie
Beiträge: 6
Registriert: 17 Feb 2013, 20:35

Re: Plugin-Schnittstelle für Android

Beitrag von Fillip11 »

Geschafft! Die erste funktionsfähige Version meines Plugins läuft und damit das Umschalten der Sender an meinem Fernseher vom Kontextmenü des Android-TVBrowsers aus. Veröffentlichungsfähig ist es noch nicht, dazu ist zu viel Gebastel drin. Es gibt z.B. noch keine Senderzuordnungen bei den Einstellungen, also hab ich das Sendermapping hart hineinkodiert.

Zu diesem Plugin werde ich hier im Thread nichts mehr weiter schreiben. Wenn ich es veröffentliche, mache ich dafür dann einen extra Thread auf.

Generell war der Aufwand überschaubar. Wer dringend ein Plugin braucht, kann es sich wirklich selber schreiben. Nachdem das Grundgerüst des Plugins stand (nachdem ich es zusammenkopiert habe ... hust hust) hab ich den größten Teil der Zeit dafür aufgewandt, mich mit AsyncTasks, Context, Exceptions und unterschiedlichen Versionen zu vergnügen. (Zuerst hatte ich in Eclipse Apache 4.3 verwendet und dafür waren die Codebeispiele im Internet größtenteils nicht aktuell. Aber macht nichts, Android geht da sowieso eigene Wege. Und als Anfänger verwirrt das alles doch sehr.)

Der Aufwand hat sich jedenfalls gelohnt.
ds10
Site Admin
Beiträge: 19095
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Plugin-Schnittstelle für Android

Beitrag von ds10 »

Na, dann gratuliere ich zum Erfolg! Ist doch ein schönes Gefühl, wenn man es selbst geschafft hat.

Der nächste Schritt eine Zuordnung der Sender des Fernsehers zu den TV-Browser Sendern ist eigentlich nicht so kompliziert. Das FRITZ-Switch-Plugin verwendet dafür eine Activity mit einerm ListView mit angepassten Zeilen und darauf registrierten OnClickListener. Und nach einem Klick öffnet sich ein AlertDialog, in dem man den Sender eingibt. Wie sowas programmiert wird, kann man z.B. im Quellcode des Tabs der Laufenden Sendungen sehen.

https://github.com/ds10git/tvbrowserand ... sList.java

Du könntest das Plugin dann auch über Google Play vertreiben und einen kleinen Obolus dafür verlangen, dann hätte sich die Arbeit um so mehr gelohnt. (Allerdings muss man auch erst einmal 25 $ berappen um bei Google Play veröffentlichen zu dürfen, aber das ist nur ein einmaliger Betrag.)
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Antworten