tuxmartin

XMMP CLient (teplomer)

Jan 17th, 2013
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.38 KB | None | 0 0
  1. /* KNIHOVNY
  2. http://commons.apache.org/io/
  3. http://www.igniterealtime.org/projects/smack/
  4. */
  5.  
  6. import java.io.IOException;
  7. import java.io.InputStream;
  8. import java.net.URL;
  9. import java.text.SimpleDateFormat;
  10. import java.util.Date;
  11.  
  12. import org.apache.commons.io.IOUtils;
  13. import org.jivesoftware.smack.Connection;
  14. import org.jivesoftware.smack.Roster;
  15. import org.jivesoftware.smack.XMPPConnection;
  16. import org.jivesoftware.smack.XMPPException;
  17. import org.jivesoftware.smack.packet.Presence;
  18. import org.jivesoftware.smackx.packet.Nick;
  19. import org.jivesoftware.smackx.packet.VCard;
  20.  
  21. public class Teplota {
  22.     private final static String SERVER = "jabber.cz";
  23.     private final static String JMENO = "";
  24.     private final static String HESLO = "";
  25.     private final static String NICK = "Pokus 123 :-)";
  26.     private final static int UPDATE = 60;
  27.     public static Connection con;
  28.     public static Presence presence;
  29.  
  30.     private static String teplota;
  31.  
  32.     public static void main(String[] args) throws XMPPException, InterruptedException, IOException {
  33.  
  34.         con = new XMPPConnection(SERVER);
  35.         con.connect();
  36.         con.login(JMENO, HESLO);
  37.        
  38.         presence = new Presence(Presence.Type.available);
  39.  
  40.         Roster.setDefaultSubscriptionMode(Roster.SubscriptionMode.accept_all);
  41.  
  42.         Nick nick = new Nick(NICK);
  43.         VCard vCard = new VCard();
  44.         vCard.setJabberId(JMENO + "@" + SERVER);
  45.         vCard.setNickName(NICK);
  46.         vCard.save(con);
  47.        
  48.         class Status implements Runnable {
  49.             InputStream in;        
  50.             SimpleDateFormat formatData = new SimpleDateFormat("DD.MM.YYYY HH:mm");
  51.            
  52.             @Override
  53.             public void run() {
  54.                 while (true) {
  55.                     try {
  56.                         Date casMereni = new Date();
  57.                         InputStream in = new URL("http://ADRESA/aktualni-teplota.txt").openStream();                       
  58.                        
  59.                         teplota = IOUtils.toString(in) + "°C [Jicin " + formatData.format(casMereni) + "]";
  60.                         presence.setStatus(teplota);
  61.                         con.sendPacket(presence);
  62.                         System.out.println(teplota);
  63.                         Thread.sleep(UPDATE*1000);
  64.                     } catch (IOException e) {
  65.                         e.printStackTrace();
  66.                     } catch (InterruptedException e) {
  67.                         e.printStackTrace();
  68.                     } finally {
  69.                         IOUtils.closeQuietly(in);
  70.                     }
  71.                 }
  72.             }
  73.         }
  74.  
  75.         Status aktualizujStatus = new Status();
  76.         Thread myThread = new Thread(aktualizujStatus);
  77.         myThread.start();
  78.         System.out.println("XMPP byl klient uspesne spusten.");
  79.         myThread.join();
  80.  
  81.         con.disconnect();
  82.     }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment