Imprimir esta página Diese Seite drucken Enviar a página a uma amigo Seite an einen Freund

NCLua Tweet

NCLua Tweet - Twitter-Client für DTV

Die NCLua Tweet ist die erste Twitter-Client für Sistema Brasileiro de TV Digital (SBTVD), entwickelt mit den Sprachen und NCL Moon, frei zur Verfügung gestellt. Die Anwendung ist in der Beta und es gibt noch viel zu entwickeln. Aber das aktuelle Interface gibt Ihnen eine Vorstellung davon, was möglich ist. Ich plane, um die Anwendung zu aktualisieren, wann immer Sie Zeit haben. Also, auf der Suche auf dieser Seite sein.

Die Anwendung derzeit nur werden die Nachrichten aus dem Benutzer-Twitter-Timeline erlaubt es retweets siehe Nachrichten von einem bestimmten Benutzer und schicken tweets. Der Login und Passwort muss in der Datei twitter.config.lua informiert werden. Kümmern Sie sich nicht auf die Daten in dieser Datei zu verschlüsseln. So wird der Benutzername und das Passwort klar sein, in dieser Datei (zumindest für jetzt :) ).

Sie verwenden die Klasse Francisco zur Verfügung gestellt von TCP . Die Version der Klasse, mit der Quellenangabe Anwendung ist vollständig dokumentiert .

Ein spezifisches Modul wurde für den HTTP-Verbindungen (http.lua umgesetzt worden), die das TCP-Klasse bereits erwähnt verwendet. Das Modul verfügt über Funktionen zum Senden von HTTP-Requests mit der Fähigkeit zur Nutzung von Standardauthentifizierung . Um diese Authentifizierung, war es notwendig, Funktionen nutzen, um die Konvertierung von Strings und base64 . Dafür haben wir die base64-Modul . Das HTTP-Modul erlaubt Ihnen auch, Dateien herunterzuladen.

Alle Funktionen des HTTP-Modul aufgerufen werden muss innerhalb von Co-Routine, zumindest für jetzt (oder immer, wenn sie entdecken, wie verschiedene :) ). Aber alles ist in der Dokumentation der Klasse im doc-Ordner erläutert, enthält ein Beispiel zu verwenden.

Wie Twitter-API ist (basierend auf HTTP REST ) und gibt Antworten in XML, war es notwendig, LuaXML Verwendung des Moduls zur Arbeit mit XML-Dateien, Konvertieren diese Tabellen auf den Mond, das erleichtert die Manipulation von Daten. Die Version 5.x aktualisiert für Lua wurde ein auf der Grundlage alter Umsetzung des Moduls LuaXML nicht kompatibel mit dieser Version des Mondes.

Ein weiterer Bedarf wurde auf die Verwendung von Zeichen-Bibliothek Entities2AccentedChars konvertiert Zeichen mit Akzent auf HTML-Codes und ihre besondere , dass auf dem Bildschirm erscheinen, die akzentuierten Zeichen, nicht Ihren HTML-Code. Die Bibliothek wurde erweitert, um auch HTML-Codes der Zeichen, um den Zeichensatz ISO-8859-1 im Format als Vertreter eines A (a ist in HTML). Nachrichten auf Twitter sind alle in Standard-HTML-ISO 8859-1 kodiert.

Ein weiteres Modul implementiert wurde config. Es erleichtert die Verwendung von Dateien als Konfigurationsdateien Mond (ein Mond des Zwecks der Sprache). Das erstellte Modul automatisiert den Prozess der Laden und Speichern von Konfigurations-Daten in Dateien Mond.

Es gibt nur eine Methode implementiert, um den Zugang der Twitter REST API , obwohl ich für ein Skelett haben fast alle die gleichen Methoden. Was ist der API implementiert wurde der objekt-orientierten Weg gemacht. So müssen wir ein Objekt der Klasse instanziieren, um Twitter zu verwenden, wie man in main.lua gesehen werden.

All die Anwendung Code, darunter fast alle Module von Drittanbietern und alle Module implementiert werden dokumentiert. Die gesamte Dokumentation ist im doc, erzeugt mit dem LuaDoc .

Voraussetzungen

Wir empfehlen den Einsatz von Virtual Ginga STB 0.11.2 rev 23 oder höher . Die vorherige Version von Ginga VSTB besaß einige Schwierigkeiten auf das Netzwerk zugreifen aus der VM, in der Regel verlangen die Einstellungen auf dem gleichen Netzwerk-Schnittstelle.

Vor der Verwendung NCLua Tweet in der VM, ob es sich um den Zugriff auf das lokale Netzwerk / Internet (ping, telnet, wget, curl oder einem ähnlichen Befehl). Aus diesem Grunde, sollte auf dem Home-Bildschirm des VM im selben IP angezeigt. Wenn Sie nicht auf das Netzwerk zugreifen, ändern Sie den Modus des VM-Netzwerk-Schnittstelle auf NAT oder umgekehrt Brücke (Sie müssen die VM nach der Änderung neu zu starten).

ARTIKEL IN DER BLOG AOC

Siehe Artikel auf NCLua Tweet im Blog des AOC.

BEKANNTE BUGS

In Ginga VM innerhalb eines Skripts NCLua werden nicht anerkannt, die Funktionstasten zu simulieren, die farbigen Tasten auf der Fernbedienung, ist es notwendig zu assoziieren anderen Tasten, um diese Tasten. So wird das folgende Mapping für sie wie folgt:

Rote Taste (F1): R, R
Grüne Taste (F2): G, G
Gelbe Taste (F3): Y, Y
Blaue Taste (F4): B, b

So läuft die Anwendung auf VM Ginga, die Bildschirme, die die Anwendung lassen Sie Text eingeben, verwenden Sie die Tasten R, R, G, g, y, y, B und B können die engagiert merkwürdiges Verhalten. Zum Beispiel, wenn Sie versuchen, das Senden Tweet zu schreiben, das Wort auf dem Bildschirm von Yahoo, Sie werden sehen, dass die Anwendung nicht korrekt verhalten, da Druck auf die Y-Taste ist die gleiche wie das Abfeuern von der gelben Taste (Gelb), um die Rückkehr zu prev. Allerdings war dies nicht das Ziel, wenn Sie Y drücken, um Yahoo Schreiben Sie das Wort.

Set-Top-Boxen, dass es keine echte Nebenwirkung, jedoch müssen Sie den Code innerhalb der Funktion Handler in der Datei main.lua, Behandlung dieser Briefe zu entfernen.

Updates / Downloads

Version 0.6 beta

Jetzt können Sie auf eine Nachricht antworten, drücken Sie die grüne Taste auf der Fernbedienung (F3, G oder g in Ginga VM).

Aktualisiert HTTP-Modul, das nun codiert URL-Kodierung der Parameter in den HTTP-Request via POST oder GET übergeben werden. Die Funktionen des Moduls erhält sowohl eine Tabelle mit dem Parameter-Liste Format ParamName = Wert (die werden URL-kodiert) oder einen String mit dem Parameter bereits in der Form, die über HTTP (gesandt werden müssen, die sollte schon URL-kodiert).

Version 0.5.1 beta

Der gesamte Code wurde umgestaltet main.lua Datei, weil die Anwendung wuchs und den Code dieser Datei war zu lang. So kann man beachten, dass in dieser Version erschienen einige neue Dateien Mond. Da der Antrag nun verschiedene Formen (Screens), die der Benutzer verwendet die Tasten auf der Fernbedienung für jedes Formular zugegriffen wurde erstellt eine separate Datei Mond, enthält die Funktionen, die die Schnittstelle managen. Alle Funktionen des Datei main.lua wurden auf einen Tisch und wichtigsten Namen platziert. So, jetzt gibt es Funktionen aufgerufen werden mit dem Hauptspeicher: functionname (Parameter)

Aktualisiert HTTP-Modul, das nun unterstützt mehrere Parameter beim Senden einer Anfrage. Vereinfachtes Beispiel für die Nutzung der Funktionen dieses Moduls.

Jetzt können Sie tweets. Auf dem Hauptbildschirm der Anwendung können Sie die gelbe Taste (F3, Y oder y in Ginga VM) auf dem Bildschirm für das Senden von Tweets zugreifen. Es gibt einfach schreiben die Mitteilung und drücken Sie dann die OK-Taste auf der Fernbedienung (Geben Sie die Ginga VM). Wenn Sie einen echten Fernbedienung sind, müssen Sie Text über die Tastatur der Steuerung sowie dem Handy zu machen. Um ein Zeichen zu löschen benutzen Sie den Pfeil nach links. Um Platz benutzen Sie den rechten Pfeil. Wenn Sie aus der Ginga VM ausgeführt werden, können Sie die herkömmliche Tastatur. Zur Eingabe von Zahlen müssen die numerische Tastatur verwenden sowie um das Handy (durch Drücken der Taste mehrmals), weil ich nicht weiß, ob es einen Weg gibt, um die Existenz einer Tastatur zu erkennen, und damit deaktivieren Sie die Verwendung der numerischen Tastatur zum Eingeben von Zeichen auch alphabetische, wobei es sich ausschließlich um Zahlen einzugeben. Selbst in der Ginga VM, kann es nicht verwenden Rücktaste, um ein Zeichen zu löschen. Die Anwendung abstürzt (und nicht nur mit diesem, testete ich in anderen stürzt auch) durch Drücken dieser Taste. Der Raum ist nicht in der Ginga MV anerkannt, sowie die Funktionstasten sind es nicht.

Es war Tutorial erstellt ein TextField-Klasse für die Dateneingabe auf der Grundlage von Beispielen aus NCLua . Der Code wurde für das OO-Paradigma und einige Verbesserungen angebracht wurden als Möglichkeit genutzt, ein Feld mit mehreren Zeilen haben, wickeln Sie Text-, Daten-Eingabe durch den konventionellen Tastatur, indem maxLenght Eigentum, unter anderem Verbesserungen.

Hinzugefügt mehr html-Codes für Sonderzeichen in Modul Entities2AccentedChars.

Version 0.4 beta

Inbegriffen Unterstützung retweet Nachricht über Drücken der blauen Taste auf der Fernbedienung (F4, B oder b in Ginga VM). Keine Meinung wird heute vorausgesetzt. Um zu überprüfen, besuchen Sie die Seite auf Twitter.

Durch Drücken der OK-Taste (Enter) beim Anzeigen einer Nachricht, wird die Timeline laden die Benutzer die aktuelle Nachricht. Um wieder die gelbe Taste auf der Fernbedienung (F3, Y oder y in Ginga VM).

Aktualisiert HTTP-Modul, und enthalten Unterstützung für HTTP-Anfragen mit der POST-Methode. Allerdings ist es nicht möglich, Inhalte in den Nachrichtentext zu senden.

Fragen, Anregungen und Beiträge (wie das bessere Bild für die Schaltflächen oder andere Bestimmung unter der Creative Commons Lizenz unter Berufung auf eine Quelle) sind willkommen.

Lizenz

Spenden

Unterstützung der Entwicklung und Design-Verbesserungen. Machen Sie eine Spende.


Andere Projekte

Siehe weitere Ausführungen Digital TV hier.

  1. Marcelo
    29. April 2010 um 00:09 | # 1

    Hallo Manuel, ich habe ihre Anwendungen verfolgt und gefunden haben, sehr interessant und hat mir helfen und meine Crew genug. Über dieses Projekt habe ich einen Zweifel in der Bibliothek Entities2AccentedChars. Es passiert, dass würde das Problem der Zeichen in dieser Anwendung, die Ihnen eine d XML RSS Nachrichten CNN bekommt gefunden zu lösen? Denn, sind in ihrem speziellen Zeichen in der Regel nicht auf dem Bildschirm angezeigt.
    Jedenfalls bin ich wirklich Spaß an der Arbeit und hoffen, dass in Zukunft können wir Informationen über die digitalen Fernsehens im Allgemeinen auszutauschen.
    Vielen Dank im Voraus.
    Marcelo

  2. 29. April 2010 um 00.40 | # 2

    Hallo Marcelo. Zunächst danke. Na ja, kann die Bibliothek die Fälle zu lösen, dass oben in HTML-Codierung für Zeichen mit Akzent eingesetzt. Aber wo Akzentzeichen nicht in HTML codiert, in der Regel mit eingefügt, werden sie nicht in der Anwendung angezeigt werden, wenn der Zeichensatz nicht UTF-8.

    RSS The Globe and R7 sind in UTF-8, so wird in der Regel zeigen die Akzente. Die IHT's're off air jetzt. Aber ich denke, es ist ISO-8859-1 somit nicht zeigen Akzente.

    RSS aufgefallen, dass ich als ein Beispiel für geänderte Adresse verbergen. Trotz einer Umleitung von der gleichen gemacht wird, wird die Anwendung nicht begegnen.

    In einem realen Szenario sollten die Anbieter von RSS erstellen mit den gleichen Zeichensatz UTF-8 wollen, wenn sie sie in Anwendungen verwendet werden NCL / Mond.

  3. Marcelo
    29. April 2010 um 00:53 | # 3

    Das Recht, in jeder Weise wissen Sie, wenn Sie eine Bibliothek, die ISO-8859-1 ist? in ihrer Anwendung mit der IHT rss erkennen, dass in Ihrem Video gepostet auf der gleichen Seite ok, aber die Probleme laufen hier mit den Charakteren existieren.

  4. Marcelo
    29. April 2010 um 01:04 | # 4

    Das tut uns leid, Sie sind tatsächlich mit der R7 in dem Video, sondern eine, die die XML-palicação es zu lesen und auf dem Bildschirm aber eh charset UTF-8 zeigen, verändert und es gibt immer noch Probleme mit den Charakteren.

  5. 29. April 2010 um 07.35 | # 5

    @ Marcelo
    Ich verstehe, dass für das digitale Fernsehen, nur UTF. Iconv-Bibliothek hat eine Aufforderung, aber Sie können nicht für den DTV zu verwenden.

  6. 29. April 2010 um 07:37 | # 6

    @ Marcelo
    Senden Sie mir den Link des RSS. Das gleiche kann mit Hilfe von HTML-Codierung für Zeichen mit Akzent.

  7. Marcelo
    29. April 2010 um 12:08 | # 7

    200.131.219.196/rioshweb/resposta.xml

  8. 29. April 2010 um 14:25 | # 8

    Obwohl die XML-Header zu dem Hinweis, sie ist UTF-8, Fallenlassen und Öffnung in der XML-Editoren für Linux (die alle unterstützen UTF), akzentuierten Zeichen falsch angezeigt werden. Das Problem liegt also nicht in der Datei-und Anwendungsdaten.

  1. 10. März 2010 um 18.37 | # 1