<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>FaceitWeb.com &#187; VoIP</title>
	<atom:link href="http://www.faceitweb.com/tag/voip/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.faceitweb.com</link>
	<description>Recensioni e articoli sul mondo della programmazione</description>
	<lastBuildDate>Tue, 20 Jul 2010 12:34:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>Telefono e chat nelle applicazioni Java con Skype4Java</title>
		<link>http://www.faceitweb.com/2009/06/telefono-e-chat-nelle-applicazioni-java-con-skype4java/</link>
		<comments>http://www.faceitweb.com/2009/06/telefono-e-chat-nelle-applicazioni-java-con-skype4java/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 10:09:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[skype]]></category>
		<category><![CDATA[Skype4Java]]></category>
		<category><![CDATA[SMS]]></category>
		<category><![CDATA[VoIP]]></category>

		<guid isPermaLink="false">http://www.faceitweb.com/?p=301</guid>
		<description><![CDATA[

In questo articolo esamineremo e utilizzaremo la libreria open source Skype4Java, per interagire con Skype, uno dei programmi VoIP più diffusi al mondo. Questa libreria può essere concettualmente suddivisa in due parti: la prima, contenente le classi e le interfacce Java utilizzabili dal programmatore, e la seconda che comprende le librerie native, richiamate tramite tecnologia [...]]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>In questo articolo esamineremo e utilizzaremo la libreria open source Skype4Java, per interagire con Skype, uno dei programmi VoIP più diffusi al mondo. Questa libreria può essere concettualmente suddivisa in due parti: la prima, contenente le classi e le interfacce Java utilizzabili dal programmatore, e la seconda che comprende le librerie native, richiamate tramite tecnologia JNI (Java Native Interface), per la comunicazione a basso livello con il client Skype.</p>
<p>È possibile scarircare la libreria e la documentazione del progetto dal sito ufficiale (https://developer.skype.com/wiki/Java_API).</p>
<p>Skype4Java ci permette è possibile effettuare moltissime operazioni, tra cui:</p>
<ul>
<li>Visualizzare e modificare le impostazioni del client (lingua, sfondi, proprietà)</li>
<li>Visualizzare, aggiungere, modificare ed eliminare i contatti ed i gruppi</li>
<li>Gestire il proprio profilo</li>
<li>Avviare una sessione voce</li>
<li>Avviare una sessione di chat</li>
<li>Inviare SMS</li>
</ul>
<p><strong>La classe principale</strong> della libreria è <code>com.skype.Skype</code>. Questa classe ci fornisce numerosi metodi statici che ci permettono di recuperare moltissime informazioni: versione installata del client, lista dei gruppi, lista dei contatti, informazioni relative ai profili dei nostri contatti, e molte altre informazioni.</p>
<p style="text-align: center;"><span id="more-301"></span><script type="text/javascript"><!--
google_ad_client = "pub-8488545646955443";
google_ad_slot = "1886844531";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
<p>Alcuni esempi ci aiuteranno a prendere confidenza con questa libreria.</p>
<div class="boxcode">
<p>Versione installata del client Skype</p>
<pre>Skype.getVersion()</pre>
</div>
<div class="boxcode">
<p>Visualizzazione e modifica del proprio profilo</p>
<pre>Profile profilo = Skype.getProfile();

System.out.println("ID:" + profilo.getId());
System.out.println("Sesso:" + profilo.getSex());
System.out.println("Città:" + profilo.getCity());
System.out.println("Stato:" + profilo.getStatus());

profilo.setCity("Napoli");</pre>
</div>
<p>L&#8217;oggetto <code>Profile</code> restituito dal metodo <code>getProfile()</code>, contiene le informazioni relative al profilo dell&#8217;utente skype attivo sul client, compreso lo stato attuale dell&#8217;utente (In linea, Non al computer, Occupato). Le informazioni sono richiamabili mediante i classici metodi getter. È possibile anche modificare tali proprietà utilizzando i metodi setter.</p>
<p><strong>Gli stati</strong> possibili di ciascun contatto sono i seguenti:</p>
<table class="tabella_htmlit" border="0">
<tbody>
<tr>
<td><code>User.Status.AWAY</code></td>
<td><code>User.Status.OFFLINE</code></td>
<td><code>User.Status.ONLINE</code></td>
</tr>
<tr>
<td><code>User.Status.UNKNOWN</code></td>
<td><code>User.Status.NA</code></td>
<td><code>User.Status.DND</code></td>
</tr>
</tbody>
</table>
<div class="boxcode">
<p>Visualizzazione dei contatti</p>
<pre>Friend[] contatti = Skype.getContactList().getAllFriends();

for (int i = 0; i &lt; contatti.length; i++)
{
  Friend contatto = contatti[i];
  System.out.println(contatto.getId() + " " + contatto.getFullName());
}</pre>
</div>
<p>Il metodo <code>getContactList()</code>, restituisce diverse informazioni sui contatti. Il metodo <code>getAllFriends()</code>, restituisce un array di oggetti <code>Friend</code> che contiene l&#8217;elenco completo di tutti i contatti. L&#8217;oggetto <code>Friend</code>, contiene tutte le informazioni sul profilo del contatto: id, nome, città, lingua, stato, email.</p>
<div class="boxcode">
<p>Creare un nuovo gruppo</p>
<pre>Skype.getContactList().addGroup("amici");</pre>
</div>
<p>Il metodo <code>addGroup()</code> ci permette di aggiungere un nuovo gruppo.</p>
<div class="boxcode">
<p>Inserire i contatti in un gruppo</p>
<pre>Group amici = Skype.getContactList().getGroup("amici");

Friend contatto1 = Skype.getContactList().getFriend("nick1");
Friend contatto2 = Skype.getContactList().getFriend("nick2");

amici.addFriend(contatto1);
amici.addFriend(contatto2);</pre>
</div>
<p>Per inserire i contatti all&#8217;interno di un gruppo occorre prima di tutto recuperare l&#8217;istanza del gruppo mediante il metodo <code>getGroup()</code>. Successivamente occorre recuperare l&#8217;istanza di ciascun contatto da inserire nel gruppo, mediante il metodo <code>getFriend(</code>), ed infine, richiamare il metodo <code>addFriend()</code> della classe Group.</p>
<div class="boxcode">
<p>Inviare un messaggio ad un contatto</p>
<pre>Friend contatto = Skype.getContactList().getFriend("pippo");

if (null != contatto &amp;&amp; contatto.getOnlineStatus().equals(User.Status.ONLINE))
  contatto.send("Ciao Pippo");
else
  System.out.println("Il contatto non è al PC. Il suo stato è '" + contatto.getOnlineStatus() + "'");</pre>
</div>
<p>Ottenuta l&#8217;instanza dell&#8217;oggetto <code>Friend</code>, mediante il metodo <code>getFriend(String)</code> della classe <code>ContactList</code>, corrispondente al contatto che ci interessa, e verificato il suo stato, possiamo inviargli un messaggio via chat utilizzando il metodo <code>send(String)</code>. Naturalmente, qualora il contatto richiesto non sia presente nella lista dei contatti, il metodo restituirà un riferimento null e quindi non sarà possibile inviargli un messaggio.</p>
<div class="boxcode">
<p>Effettuare una chiamata</p>
<pre>Friend contatto = Skype.getContactList().getFriend("pippo");

if (null != contatto &amp;&amp; contatto.getOnlineStatus().equals(User.Status.ONLINE))
  contatto.call();
else
  System.out.println("Il contatto non è al PC. Il suo stato è '" + contatto.getOnlineStatus() + "'");</pre>
</div>
<p>Con la stessa logica dell&#8217;esempio precedente, è possibile avviare una chiamata. L&#8217;unica differenza è il metodo della classe <code>Friend</code> da richiamare. Per inviare un messaggio di chat è necessario utilizzare il metodo <code>send(String)</code>, mentre per inoltrare una chiamata, occorre utilizzare il metodo <code>call()</code>.</p>
<div class="boxcode">
<p>Inviare un SMS</p>
<pre>Skype.sendSMS("134567890", "prova sms");</pre>
</div>
<p>Mediante il metodo <code>sendSMS()</code> è possibile inviare un SMS direttamente ad un numero specifico.</p>
<p>Oltre alla classe <code>Skype</code>, la libreria <code>Skype4Java</code>, mette a disposizione anche la <strong>classe SkypeClient</strong>, mediante la quale è possibile interagire direttamente con il client. Ad esempio, è possibile aprire la finestra delle impostazioni, la finestra dei contatti, etc.</p>
<ul>
<li><code>SkypeClient.showSkypeWindow()</code></li>
<li><code>SkypeClient.showProfileWindow()</code></li>
<li><code>SkypeClient.showSearchWindow()</code></li>
</ul>
<p>Per eseguire gli esempi proposti, è necessario includere nel proprio progetto la libreria specifica del sistema operativo. Nel pacchetto zip scaricabile dal sito ufficiale, infatti, sono inclusi i seguenti file jar:</p>
<ul>
<li><code>skype_linux.jar</code> per i sistemi linux</li>
<li><code>skype_osx.jar </code> per MAC</li>
<li><code>skype_win32.jar</code> per Windows</li>
</ul>
<p>Queste sono solo alcune delle funzionalità messe a disposizione dalla libreria Skype4Java, per iniziare a acquisire familiarità con la libreria.</p>
<p><a href="http://java.html.it/articoli/leggi/3030/skype4java-telefono-e-chat-nelle-applicazioni-java/">Skype4Java, telefono e chat nelle applicazioni Java</a></p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="fabio.cervino@poste.it" /><input type="hidden" name="return" value="Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com" /><input type="hidden" name="item_name" value="Offri un caffè allo staff for Telefono e chat nelle applicazioni Java con Skype4Java" /><input type="hidden" name="currency_code" value="EUR" /><input type="hidden" name="amount" value="" /><input type="image" src="http://www.faceitweb.com/wp-content/plugins/buy-me-beer/icon_cafe.gif" align="left" alt="Offrimi un caffè" title="Offrimi un caffè" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=fabio.cervino@poste.it&amp;currency_code=EUR&amp;amount=&amp;return=Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com&amp;item_name=Offri+un+caffè+allo+staff+for+Telefono+e+chat+nelle+applicazioni+Java+con+Skype4Java" target="paypal"></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.faceitweb.com/2009/06/telefono-e-chat-nelle-applicazioni-java-con-skype4java/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

<!-- www.000webhost.com Analytics Code -->
<script type="text/javascript" src="http://analytics.hosting24.com/count.php"></script>
<noscript><a href="http://www.hosting24.com/"><img src="http://analytics.hosting24.com/count.php" alt="web hosting" /></a></noscript>
<!-- End Of Analytics Code -->
