Skype4Java è una API completamente open source. Gli sviluppatori hanno realizzato una serie di metodi statici per gestire la maggiorparte delle funzionalità offerte da Skype. E’ possibile scaricare la libreria da questo indirizzo. Per presentare un esempio , ipotiziamo di utilizzare NetBeans come IDE di sviluppo . Una volta terminato il download , è necessario importare l’intera cartella “release” nelle librerie utilizzate nel progetto .
E’ di vitale importanza, per rendere possibile l’esecuzione del programma che stiamo per realizzare, di inserire una direttiva alla virtual machine di questo tipo: -Djava.library.path=lib dove lib è la cartella in cu è presente il file swt-win32-3232.dll . In particolare in NetBeans, la direttiva viene posta in questo modo : tasto destro sul nome del progetto -> Properties -> Run -> VMOptions .
Passiamo al codice, il primo passo è di importare com.skype.Skype nella classe che stiamo realizzando:
import com.skype.Skype ;
Il primo blocco di codice si occupa di visualizzare i dati dell’ utente attualmente connesso ed in più imposta sia la città che la frase di presentazione del profilo stesso:
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");
profilo.setMood("sto testando le API Skype");
Per visualizzare l’elenco dei contatti :
Friend[] contatti = Skype.getContactList().getAllFriends();
for (int i = 0; i < contatti.length; i++) {
Friend contatto = contatti[i];
System.out.println(contatto.getId() + " -> " + contatto.getFullName());
}
Per creare un nuovo gruppo:
Skype.getContactList().addGroup("Nuovo Grupppo");
E’ possibile anche inoltra messaggi di chat , effettuare telefonate ed inviarre un sms ad un contatto. Di seguito vi presento come fare:
Inoltro nuovo messaggio di chat ad un certo contatto, ipotiziamo di inoltrarlo all’utente “Pippo” :
Friend contatto = Skype.getContactList().getFriend("Pippo");
if (null != contatto && contatto.getOnlineStatus().equals(User.Status.ONLINE))
contatto.send("Messaggio mandato tramite Skype4Java API");
else
System.out.println("Il contatto non è al PC ");
Avvio di una chiamata :
Friend contatto = Skype.getContactList().getFriend("pippo");
if (null != contatto && contatto.getOnlineStatus().equals(User.Status.ONLINE))
contatto.call();
else
System.out.println("Il contatto non è al PC ");
Inoltro di un SMS :
Skype.sendSMS("134567890", "testo del nuovo sms");
Vi segnali infine il link delle API Skype dal sito ufficiale e il sito in cui trovate il codice sorgente delle API con una breve descrizione dei metodi. Vi consiglio di utilizzare questo ultimo link come Documentazione dato che gli sviluppatori non hanno realizzato nessuna documentazione ufficiale riguardo a SKype4Java.