© 2013 All rights reserved.
0

Java: Twitter sender – jednoduchý program pro odesílání zpráv

Jak vytvořit jednoduchý program, který je schopný se připojit na Twitter pod uživatelským účtem a aktualizovat status.

Uděláme si jednoduchý program, který se dokáže připojit na Twitter a aktualizovat profil daného
twitter sender
uživatele. V grafickém rozhraní bude možnost nastavit uživatelského jména a hesla k účtu. Pod těmito údaji se program připojí a nastaví nový aktuální status.

GUI bude opravdu jednoduché, v němž bude možné vyplnit uživatelské údaje a text nové zprávy.

Navíc je program rozšířen o možnost minimalizace do tray, kterou jsem ukázal v minulém článku.
Program bude schopen uživateli vypsat jednoduché informace o úspěchu nebo neúspěchu operace.

Grafické rozhraní – Twitter_Sender

Jako první si napíšeme grafické rozhraní k programu.

Grafické rozhraní bude muset obsahovat komponenty pro zadání uživatelského jména, jeho hesla. Dále textové pole pro napsání nové zprávy a pole pro výpis hlášení.

Vytvoříme jednoduché okno JFrame o rozměrech 300x240px:

A nyní můžeme do okna přidávat grafické prvky v podobě JtextFieldů a Jlabelů. JTExtField využijeme jak pro zadání přihlašovacích údajů, tak pro zadávání nové zprávy. Pro výpis statusu použijeme JtextAreu, protože bude obsahovat více než jeden řádek informací:

Pro odeslání formuláře nám slouží tlačítko button, ke kterému musíme přidat pro odeslání ActionListener.

Před odesláním zkontrolujeme některé věci jako prázdné inputy pro jméno a heslo, nebo délku textu v poli se zprávou, která může být maximálně 160 znaků. Pro odeslání vytvoříme novou instanci třídy Twitter_Sender, ktreou si napíšeme později.

Můžeme si ještě vytvořit KeyListener pro textové pole zprávy a například do labelu s informacemi pro uživatele psát počet znaků, které uživatel napsal:

Nakonec všechny komponenty umístíme do framu:

Všiměte si volání metody trayicon, která umožní uživateli minimalizovat program do tray tak aby nezabíral na ploše místo. Tuto problematiku jsem probral v minulém článku, takže zde je pouze daná metoda:

Tray ikona se chová velice jednoduše. Obsahuje pouze popup menu pro vypnutí celého programu. Po kliknutí na ikonu se program minimalizuje nebo maximalizuje v závislosti na nastavení aktuální hodnoty Visible.

Z grafického rozhraní nám zůstává poslední metoda, kterou program používá, a to pro vypisování chybových hlášení:

Na konci článku se nachází kompletní zdrojový kód celé třídy.

Class Twitter_Sender

Pokud je grafické rozhraní hotové, nezbývá než jej zpracovat.

V Action Listeneru tlačítka pro odeslání jsme vytvářeli novou instanci třídy Twitter_Sender, kterou si nyní napíšeme.

Jako vstupní proměnné si do třídy předáváme jméno, heslo, zprávu a ukazatel na JTExtAreu pro výpis statusu.

Pro update statusu nám slouží adresa http://twitter.com/statuses/update.json, kterou budeme v programu používat.

Před odesláním statusu bude potřeba aby se program přihlásil na daný uživatelský účet dle zadaných hodnot v textových polích.

Nejprve si vytvoříme novou třídu, ve které vytvoříme ze vstupních proměnných proměnné globální, abychom k nim mohli přistupovat v celé třídě:

Při zpracovávání uživateslkých dat budeme postupně do stavového pole vypisovat uživateli informace o prováděném úkonu.

Jako první se musíme připojit na příslušnou URL adresu. Pro tuto operaci si napíšeme zvláštní metodu, která bude vracet identifikátor spojení.

Metoda pouze otevře nové spojení s danou url adresou:

Použití metody je asi jasné. Stačí vytvořit novou proměnnou typu HttpURLConnection a návratovou hodnotu z metody do této proměnné předat.

Nyní provedeme základní nastavení spojení a pokusíme se na serveru přihlásit pod uživateslkým účtem.

Pro tuto operaci si opět můžeme udělat vlastní metodu, kterou pouze zavoláme.

Nejprve volání příslušné metody a nastavení spojení:

Metoda pro identifikaci uživatele se jmenuje user a jako vstupní parametr je identifikátor spojení.

Metoda připravý data pro identifikaci, zakóduje je pomocí base64 a odešle na server pomocí setRequestProperty:

Pokud jsme přihlášení, musíme si připravit data pro odeslání na server. Pomocí setRequestProperty odešleme příslušné hlavičky a nakonec odešleme data pomocí OutputStreamu:

A tím je celý program hotový.

Program slouží pouze pro odesílání nového statusu na Twitter, ale nebylo by problém jej rozšířit i například o novou registraci, mazání zpráv a podobně. Stačilo by se pouze připojovat na příslušné URL adresy a odesílat správná data.

Nakonec opět celý kód, který je rozdělen na dvě třídy:

TS_GUI

Twitter_Sender

Comments are closed for this page

About
Hi, i am programmer from the Czech Republic. I love web development (Ruby, Ruby on Rails, PHP, Nette) and iOS development (Objective-C, Cocoa).
To cooperate, here is my phone:
+420 608 836