Porting JVoiceXML su Android

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Porting JVoiceXML su Android"

Transcript

1 UNIVERSITÀ POLITECNICA DELLE MARCHE FACOLTA DI INGEGNERIA Corso di Laurea in Ingegneria Informatica e dell Automazione Porting JVoiceXML su Android Tesi di Laurea di: Matteo Brunetti Relatore: Prof. Aldo Franco Dragoni Anno Accademico 2011/2012 1

2 alla mia famiglia. 2

3 Indice Generale Ringraziamenti..4 Introduzione Android 1.1 Panoramica Architettura Android Software necessari Principi di programmazione JVoiceXML. 2.1 Panoramica Architettura JVoiceXML Architettura VoiceXML Software utilizzati per JVoiceXML Realizzazione del progetto. 3.1 Applicazione finale Codice del progetto Config progetto Conclusioni Bibliografia 47 3

4 Ringraziamenti Finalmente ho raggiunto il primo traguardo per la strada verso l essere Ingegnere, un sogno coltivato fin da bambino. Desidero ringraziare il prof. Aldo Franco Dragoni per la sua disponibilità e Luca Palazzo, Gianluca Dolcini per le risposte ai miei dubbi, e gli aiuti, senza i quali la tesi non avrebbe prodotto alcun risultato. Le persone che vorrei ringraziare di più sono i miei genitori, che mi hanno sostenuto moralmente, sia soffrendo insieme per un esame andato male e sia gioendo per un esame superato, e poi economicamente. Li vorrei ringraziare anche perché mi hanno permesso di studiare,anche in tempi di crisi, e raggiungere questo traguardo, per affrontare al meglio il mio futuro. Vi voglio un mondo di bene mamma e papà. Ringrazio mia sorella Claudia, alla quale voglio un bene dell anima, per i consigli e i messaggi di consolazione nei momenti di sconforto. Inoltre vorrei ringraziare i miei fantastici nonni, nonna Anita, nonno Nadino, nonna Maria, e nonno Guido che mi guarda dal cielo e so che è felice per me. Poi ringrazio i miei zii, zia Francesca, o meglio zia Checca, e zio Giggi per le loro parole di conforto e incoraggiamento. Grazie ai miei cugini Guido e Marco, con i quali ho condiviso tutti i momenti della mia vita e poi Fabio e tutti i cugini. Un ringraziamento va anche ai miei amici Marco Scaramucci, oltre che grande amico anche compagno di università con il quale ho affrontato molti esami, Eleonora, Alessia P., Mattia, Davide, insomma tutti quelli che mi sono stati vicino. Grazie a tutti. Vorrei concludere con una frase che ripetono i miei genitori: se insisti, raggiungi e conquisti Matteo Brunetti 4

5 Introduzione Negli ultimi anni abbiamo assistito a una vera e propria rivoluzione tecnologica incentrata principalmente sulla mobilità che ha portato alla nascita e allo sviluppo di nuovi settori di mercato in fortissima crescita. Il settore alla testa di questa rivoluzione è sicuramente quello dei telefoni cellulari, e in particolare quello dei dispositivi conosciuti come smartphone. È un periodo incredibile e interessante per chi si occupa di sviluppo mobile. I telefoni cellulari non sono più semplici dispositivi per parlare, ma anzi sono dotati delle tecnologie più avanzate, come ad esempio accelerometro, schermi touch, GPS. Tecnologie che, combinate insieme, creano a dei prodotti così potenti da far pensare di essere destinati a diventare i prossimi PC. Grazie all hardware di cui sono attualmente dotati si possono creare delle applicazioni mobile innovative e con finalità che rientrano praticamente in qualsiasi ambito della vita quotidiana: lavoro, divertimento, tempo libero, e molto altro ancora. I primi due capitoli di questa tesi si concentrano quindi sull esplorare e spiegare i due grandi temi che la caratterizzano, da una parte il sistema Android, e dall altra l interprete JVoiceXml. Il tirocinio, svoltosi presso il Dipartimento di Ingegneria dell Informazione dell Università Politecnica delle Marche, ha avuto come obiettivo finale la realizzazione di un sistema di interazione vocale su robot, dotato di smartphone, attraverso lo standard VoiceXml. Nel tirocinio ha lavorato con me un altro studente del corso di Ingegneria Informatica e dell Automazione, Marco Brunetti. Pur affrontando insieme tutti i problemi, ognuno di noi si è dedicato maggiormente ad aree diverse del progetto, inoltre, durante lo sviluppo per gestire la logica dei dialoghi, abbiamo deciso di utilizzare un particolare linguaggio di markup che si propone come standard per le applicazioni vocali: VoiceXML. Per utilizzare il linguaggio VoiceXml si rende necessario disporre di un interprete, JVoiceXML, nel quale abbiamo trovato delle difficoltà ad utilizzarlo nello smartphone. Nel terzo capitolo si descrivono le varie fasi dello sviluppo del progetto, con spiegazione di alcuni dei meccanismi di funzionamento e descrizione dei file di configurazione. 5

6 1.Android 1.1 Panoramica Creata da Google in collaborazione con l Open Handset Alliance, il gruppo di 79 aziende che lavorano insieme per accelerare lo sviluppo e le innovazioni nel settore mobile, Android è la prima piattaforma completa per lo sviluppo di applicazioni mobile. Android fu sviluppato inizialmente nel 2003 da una startup californiana di nome Android, Inc., fondata da Andy Rubin, Rich Miner, Nick Sears e Chris White. Siamo agli inizi del nuovo millennio, ogni telefonino ha il proprio sistema operativo chiuso e gli smartphone più evoluti sono quelli prodotti da Palm e quelli con a bordo Windows Mobile. In questo scenario, la visione di Andy Rubin era di creare un sistema operativo aperto, basato su Linux, conforme agli standard, con un'interfaccia semplice e funzionale che mettesse a disposizione degli sviluppatori strumenti efficaci per la creazione di applicazioni. E soprattutto, a differenza di tutti gli altri sistemi operativi sul mercato, la sua adozione doveva essere gratuita. La svolta arriva nel luglio del 2005 quando Google acquista Android, Inc. trasformandola nella Google Mobile Division con a capo sempre Andy Rubin. L'acquisizione fornì a Rubin i fondi e gli strumenti per portare avanti il suo progetto. Il passo successivo fu la fondazione nel novembre dello stesso anno della Open Handset Alliance (OHA). Il 5 novembre 2007 L'Open Handset Alliance viene istituita ufficialmente e presenta il sistema operativo Android. Qualche giorno dopo verrà rilasciato anche il primo Software Development Kit (SDK) per gli sviluppatori che include: gli strumenti di sviluppo, le librerie, un emulatore del 6

7 dispositivo, la documentazione, alcuni progetti di esempio, tutorial e altro. Nel giugno del 2007 è arrivato sul mercato il primo iphone di Apple che ha rivoluzionato il modo concepire gli smartphone. In molti si aspettavano che Google rispondesse con un proprio smartphone per cui la sorpresa fu grande quando presentò un intero ecosistema, un sistema operativo capace di funzionare su molti dispositivi diversi tra loro. Al momento del lancio Android presentava un numero molto ridotto di applicazioni: un browser basato su webkit, una rubrica e un calendario sincronizzati con gmail e poco altro. Per invogliare i programmatori a cimentarsi con questa nuova piattaforma, Google istituì nel gennaio del 2008 un concorso con un montepremi di 10 milioni di dollari per le migliori 50 applicazioni. Questa strategia si rivela però vincente in quanto al momento del lancio commerciale di Android 1.0 nel Settembre del 2008 con il primo dispositivo Android, l HTC Dream, si è già formata un ampia e attiva comunità di sviluppatori pronti ad offrire le loro applicazioni sull Android Market. Da questo momento si susseguono una serie di versioni a distanza di pochi mesi l una dall altra, Android 1.1(Febbraio 2009), Android 1.5Cupcake (Aprile 2009), Android 1.6 Donut (Settembre 2009), Android 2.0 Éclair (Ottobre 2009), Android 2.2 Froyo (Maggio 2010), Android 2.3 Gingerbread (Dicembre 2010), tutte basate su linux kernel 2.6. Vengono introdotte sempre nuove funzionalità e miglioramenti a quelle esistenti, di particolare interesse per questo lavoro risultano le funzionalità di Voice Input e Text-to-Speech dalla versione 1.6 in avanti. Nel Febbraio 2011 esce Android 3.0 Honeycomb, versione dedicata esclusivamente ai tablet. Infine nell Ottobre 2011 viene rilasciata pubblicamente l ultima versione, Android 4.0 Ice Cream Sandwich, basata su kernel Linux 3.0. Per dare un idea delle dimensioni raggiunte, nell Ottobre del 2011 erano presenti più di 500,000 applicazioni disponibili per Android con un numero stimato di download totali superiore ai10 miliardi dall Android Market. Già dalla fine del 2010 Android è diventata la piattaforma più usata per gli smartphones, nel primo quadrimestre del 2012 ha una quota di mercato del 59% con una base di 331 milioni di dispositivi. Attualmente sono disponibili diverse piattaforme mobile, come ad esempio Windows Phone 7, ios, Symbian, Linux Mobile(LiMO). Le peculiarità che rendono speciale Android sono: Completamente open source. Altissima diffusione. Costi ridotti di accesso e di sviluppo. Gestione automatica del ciclo di vita dell applicazione. 7

8 Estremamente portabile: può essere implementata per una grande varietà di hardware differente (non solo smartphone, ma anche internet tablet, ebook reader, netbook). Gestione della grafica e del suono di altissima qualità. 1.2 Architettura Android Android, essendo un sistema operativo di moderna fattura, è abbastanza complesso. Anche se il suo target sono i dispositivi mobili, l architettura di Android ha poco da invidiare a quelle dei comuni sistemi per desktop o laptop. Tale architettura è presentata schematicamente in Fig.1. Fig. 1: L architettura di Google Android Come si evince dalla figura, Google ha attinto a piene mani dal mondo Open Source. Il cuore di ogni sistema Android, tanto per cominciare, è un kernel Linux, versione 2.6. Direttamente nel kernel sono inseriti i driver per il controllo dell hardware del dispositivo: driver per la tastiera, lo schermo, il touchpad, il Wi-Fi, il Bluetooth, il controllo dell audio e così via. Sopra il kernel poggiano le librerie fondamentali, anche queste tutte mutuate dal mondo Open Source. Da citare 8

9 sono senz altro OpenGL, per la grafica, SQLite, per la gestione dei dati, e WebKit, per la visualizzazione delle pagine Web. L architettura prevede poi una macchina virtuale e una libreria fondamentale che, insieme costituiscono la piattaforma di sviluppo per le applicazioni Android. Questa macchina virtuale si chiama Dalvik, e sostanzialmente è una Java Virtual Machine. Alcune delle caratteristiche di Dalvik e della sua libreria non premettono di identificare immediatamente la piattaforma Java disponibile in Android con una di quelle di riferimento (Java SE, Java ME). Nel penultimo strato dell architettura è possibile rintracciare i gestori e le applicazioni di base del sistema. Ci sono gestori per le risorse, per le applicazioni installate, per le telefonate, il file system e altro ancora. Infine, sullo strato più alto dell architettura, poggiano gli applicativi destinati all utente finale. Molti, naturalmente, sono già inclusi con l installazione di base: il browser ed il player multimediale sono dei facili esempi. 1.3 Software Necessari Android SDK Per sviluppare applicazioni in grado di girare su sistemi Android, è necessario installare sul proprio PC un apposito kit di sviluppo (SDK), che sia completo di emulatore, librerie e documentazione. La prima buona notizia è che l Android SDK è disponibile gratuitamente e senza discriminazioni per sistemi Windows, Linux e MacOS X. Come inizio, non c è male. È possibile scaricarlo collegandosi all indirizzo: In particolare, è richiesto che il sistema disponga già di un Java SDK (JDK) versione 5 o successiva. È strettamente indispensabile soddisfare questo requisito, poiché Android si programma in Java, e senza un JDK non è possibile compilare il codice. 9

10 ADT per Eclipse Benché Android SDK disponga di script che automatizzano l installazione delle applicazioni, il lancio dell emulatore e il debug del codice, lavorare in un ambiente integrato, con ogni opzione a portata di clic, è sicuramente più facile. Specie quando l ambiente integrato si chiama Eclipse. Nel sito di Android è disponibile anche un plug-in per la celebre piattaforma di sviluppo Open Source. Questo add-on si chiama Android Development Tools for Eclipse, che abbreviato diventa ADT. Il modulo funziona con le più recenti versioni di Eclipse, che sono la 3.3, la 3.4 e anche la nuova 3.5. Può essere installato direttamente dall interno della piattaforma di sviluppo. Avviate Eclipse ed eseguite il wizard per l installazione di nuovi componenti. In Eclipse 3.5 lo si fa con la voce di menu Help» Install New Software. Nella 3.4 la voce di menu è Help» Software Updates, e poi si deve selezionare la scheda Available software. In Eclipse 3.3, infine, la voce di menu da richiamare è Help» Software Updates» Find and install, scegliendo poi Search for new features to install. Giunti a destinazione, scegliete l opzione per aggiungere un nuovo sito remoto alla lista delle fonti presentate dal wizard (pulsante Add ). L indirizzo da specificare è: A questo punto selezionate la voce corrispondente alla nuova fonte e procedete attraverso i singoli passi del wizard. Il plug-in per lo sviluppo del software Android sarà automaticamente scaricato e installato. 10

11 Dopo il riavvio di Eclipse, recatevi immediatamente nella schermata delle preferenze dell ambiente (voce di menu Window» Preferences ). Qui troverete disponibile la nuova categoria Android, nell elenco sulla sinistra. Selezionatela e impostate il percorso del vostro Android SDK: è necessario affinché Eclipse possa agganciare il kit di sviluppo. 11

12 AVD - Android Virtual Device Il kit di sviluppo comprende un emulatore che ci consentirà di provare le nostre creazioni sul PC, prima di installarle su un reale dispositivo equipaggiato con Android. Il primo concetto che si deve assimilare è quello che ha nome Android Virtual Device (AVD), cioè dispositivo virtuale Android. Nel nostro PC possiamo creare e configurare quanti dispositivi virtuali vogliamo. È come avere tanti differenti smartphone da utilizzare per i propri test, solo che invece di dispositivi di plastica e silicio si tratta di macchine virtuali, fatte cioè di puro software, da eseguire attraverso l emulatore. In questo modo è anche possibile avviare contemporaneamente sullo stesso PC due o più dispositivi virtuali, ad esempio per testare un applicazione che fa interagire più smartphone, come una chat o un gioco multiplayer. Ogni AVD è configurato almeno con un nome, una versione di SDK supportata, un valore che indica la quantità di memoria da riservare per la scheda SD e una risoluzione per lo schermo. 12

13 Una volta impostata, è possibile avviare la macchina emulata, ottenendo una finestra simile a quanto si vede nell immagine sottostante. Questa ci permette di interagire con il device virtuale, anche se ovviamente ci sono delle limitazioni, trattandosi di un emulatore. 1.4 Principi di Programmazione Le applicazioni Android sono distribuite sotto forma di file APK (Android Package). Al loro interno vengono raccolti gli eseguibili in formato DEX, le eventuali risorse associate e una serie di descrittori che delineano il contenuto del pacchetto. In particolare, nel cosiddetto manifesto, vengono dichiarate le attività, i servizi, i provider e i receiver compresi nel pacchetto, in modo che il sistema possa agganciarli e azionarli correttamente. Android fornisce una collezione di controlli studiati e progettati appositamente per i device mobili: il cuore di questi controlli è rappresentato da due classi, android.view.view e android.view.viewgroup. Una View è sostanzialmente un area rettangolare nello schermo responsabile del disegno degli elementi grafici e della cattura e gestione degli eventi generati dall utente. Un oggetto ViewGroup è anch esso una View, ma contiene altre View. Nella piattaforma Android si utilizza il concetto di layout per gestire l impaginazione dei controlli all interno di un contenitore di oggetti View. 13

14 I componenti grafici sono per lo più quelli tradizionali che siamo abituati a vedere in quasi tutti i programmi,cioè pulsanti, checkbox, caselle di testo editabili, etichette. Le applicazioni Android si compongono di quattro mattoni fondamentali: le attività (activity), i servizi (service), i broadcast receiver e i content provider. Ogni applicazione è formata da uno o più di questi mattoni. Non è detto che li contenga tutti: ad esempio potrebbe essere costituita da due attività e da un servizio, senza avere broadcast receiver né content provider. Nella stragrande maggioranza dei casi, comunque, le applicazioni comprendono almeno un attività. Un attività è una singola e precisa cosa che l utente può fare. L Activity è un concetto legato allo sviluppo delle interfacce grafiche: normalmente una Activity rappresenta una singola schermata della nostra applicazione. Le applicazioni possono definire una o più Activity per trattare diverse fasi del software: ogni Activity è responsabile del salvataggio del proprio stato in modo da poterlo ristabilire successivamente come parte del ciclo di vita dell applicazione. È possibile mandare in esecuzione più attività simultaneamente, ma soltanto un attività alla volta può occupare il display. L attività che occupa il display è in esecuzione e interagisce direttamente con l utente. Le altre, invece, sono ibernate e tenute nascoste in sottofondo, in modo da ridurre al minimo il consumo delle risorse di calcolo. L utente, naturalmente, può ripristinare un attività ibernata e riprenderla da dove l aveva interrotta, riportandola in primo piano. L attività dalla quale si sta allontanando, invece, sarà ibernata e mandata in sottofondo al posto di quella ripristinata. Per prima cosa le attività possono morire spontaneamente, perché hanno terminato i loro compiti. I casi in cui un attività può terminare sono due: L attività è ibernata e il sistema, arbitrariamente, decide che non è più utile e perciò la distrugge. Il sistema è a corto di memoria, e per recuperare spazio inizia a uccidere bruscamente le attività in sottofondo. La Fig.1 illustra la sequenza di chiamate ai metodi di Activity eseguite durante i passaggi di stato dell attività. 14

15 Dopo che si è creata un attività, la si deve registrare all interno del descrittore dell applicazione (il file AndroidManifest.xml), questo affinché il sistema sappia della sua esistenza. Per farlo si usa un tag <activity> all interno del tag <application>: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" android.com/apk/res/android" package=" mypackage.mysubpackage "... > <application... > <activity android:name=".myactivity"... >... </activity>... </application> </manifest> Al lancio l Activity transita per tre differenti stati, creazione, avvio e ripristino, prima di iniziare la vera e propria esecuzione. Questi eventi possono essere intercettati con gli appositi metodi che appaiono nella figura. Quando una nuova Activity passa in primo piano, quella corrente viene messa in pausa, se, ad esempio,arriva una telefonata mentre stiamo usando il browser. In questo 15

16 caso è possibile riprendere rapidamente l attività precedente. Se invece l utente passa ad una nuova attività che rende la precedente non più visibile, dopo essere messa in pausa viene anche sospesa. Possiamo lanciare nuove attività da quella attualmente in esecuzione tramite il metodo startactivity() che è fornito dalla classe Activity. L oggetto principale per lanciare una nuova attività è il tipo Intent. Esso è un meccanismo che descrive un azione specifica. Questo oggetto Intent può individuare una specifica Activity se lo creiamo riferendoci direttamente alla classe (Intent esplicito), oppure possiamo soltanto indicare l azione che vogliamo eseguire, ad esempio Intent.ACTION_SEND per l invio di una mail (Intent implicito). Un Intent può essere utilizzato per: trasmettere l informazione per cui un particolare evento si è verificato; supportare l interazione tra qualsiasi applicazione installata sul dispositivo Android. Un altro aspetto importante della programmazione Android è il Content Provider, cioè un contenitore di dati e rappresenta uno dei modi migliori per condividere informazioni globali tra applicazioni. Dato che Android è un sistema Linux-based in cui ogni applicativo ha il suo userid Linux, la sua directory data e il suo spazio di memoria dedicato e protetto, gli applicativiandroid necessitano dei Content Provider per comunicare tra loro. Alcuni Content Provider forniscono l accesso ai dati solo in lettura, mentre altri permettono alle applicazioni di creare, aggiornare, modificare o cancellare record. Un database SQLite in un device Android è un esempio di sorgente di dati che possiamo incapsulare all interno di un Content Provider. Android è provvisto di un insieme di Content Provider contenuti nel package android.provider dell SDK. Per accedere alle risorse fornite da un Content Provider utilizziamo un insieme di URL caratterizzati dallo schema content://. Un argomento importante della programmazione Android riguarda il Service, un processo che gira in background senza la diretta interazione con l utente. La classe Service viene utilizzata per creare componenti software che possono svolgere attività in modo invisibile, senza interfaccia utente. Un esempio di Service lo vediamo nel player di musica, che continua a riprodurre canzoni anche quando non è in primo piano e stiamo utilizzando altri programmi. Utilizzando i Service possiamo far girare applicazioni e farle reagire ad eventi anche quando non sono in primo piano. Un Service avviato ha una priorità più alta rispetto ad Activity in stato di inattività, in questo modo vi è minore probabilità per un Service di essere terminato dal gestore delle risorse di runtime. L AndroidManifest.xml è il file che definisce i contenuti e il comportamento della nostra applicazione. All interno di questo file sono elencate le Activity e i Service dell applicazione, con i permessi che necessita per funzionare correttamente. Ogni progetto Android include un AndroidManifest.xml memorizzato nella directory principale del progetto. In questo file XML si possono inserire nodi per ogni elemento (Activity, Service, Content 16

17 Provider e così via) che compone la nostra applicazione, impostando i permessi per determinare come questi interagiscono l un l altro e con le altre applicazioni. Tra i principali permessi che possiamo richiedere sono: READ_CONTACTS: leggere i dati dei contatti dell utente. WRITE_CONTACTS: scrivere i dati dei contatti dell utente. RECEIVE_SMS: monitorare l arrivo di SMS. INTERNET: accedere ed utlizzare la connessione Internet. ACCESS_FINE_LOCATION: utilizzare un accurato sistema di localizzazione come il GPS. La radice di ogni AndroidManifest.xml è il tag <manifest>. Questo tag include i nodi che definiscono i componenti dell applicazione, l ambiente di sicurezza. Il layout grafico delle activity viene definito in un file XML all interno della cartella res/layout. Questo particolare è molto importante, in quanto la gestione dei file aggiuntivi delle nostro progetto deve seguire una specifica organizzazione, ogni elemento trova il suo posto, ad esempio le immagini devono essere inserite nelle cartelle res/drawable. Il compilatore delle risorse comprime e impacchetta le risorse delle nostre applicazioni e successivamente genera una classe R che contiene tutti gli identificatori che possiamo utilizzare per riferirci alle risorse del programma. A questo punto tramite degli appositi metodi possiamo ottenere un riferimento all oggetto passando come argomento l ID, per fare un esempio findviewbyid(r.id.salva)può essere utilizzato per trovare un ipotetico pulsante per il salvataggio. Ecco la struttura di un applicazione Android a pag.18 17

18 18

19 Ora che abbiamo imparato i fondamenti dello sviluppo di applicativi Android rimane un ultimo passaggio per chiudere il cerchio: il rilascio e la pubblicazione dell'app. Preparare ed eseguire il packaging di un'applicazione per la pubblicazione è un processo conosciuto come il nome di release process. Il release process è il processo attraverso il quale passa la nostra app per diventare la release build, ovvero la versione ufficiale pronta per essere pubblicata. Prima di diventare la release build, e quindi di essere disponibile per l'utente finale, l'applicazione è la release candidate build. Solo dopo attente e rigorose verifiche e test l'applicazione diventa la release build. Il processo per la pubblicazione di una applicazione Android si divide in 5 passi: 1. Preparare una release candidate build della nostra applicazione. 2. Testare attentamente e minuziosamente la release candidate. 3. Generare un package Android e ufficializzarlo con una firma digitale. 4. Testare attentamente e minuziosamente il package pronto per il rilascio. 5. Pubblicare l'applicazione. Per avere una release candidate ufficiale dobbiamo anche effettuare qualche modifica al file di configurazione AndroidManifest.xml. Alcune modifiche sono imposte dai marketplace come l'android Market mentre altre sono dettate dal buon senso e da linee guida comunemente accettate. Vediamo dunque come dobbiamo preparare l'androidmanifest.xml per un applicazione che vogliamo ufficializzare a release candidate: Innanzitutto verifichiamo che l'icona dell'applicazione sia impostata correttamente: questa icona sarà visualizzata agli utenti e verrà utilizzata dai marketplace per presentare l'applicazione, quindi è importante che sia d'impatto e perfettamente configurata; Verificare che il nome dell'applicazione sia appropriato e correttamente impostato: questo sarà il nome con cui l'applicazione si presenterà agli utenti finali; Verificare la corretta impostazione del testo indicante la versione dell'applicazione; Controllare che il codice della versione dell'applicazione sia impostato correttamente: questo è un codice che la piattaforma Android utilizza per gestire gli aggiornamenti della nostra applicazione; Verificare l'impostazione dell uses-sdk dell'applicazione: possiamo impostare il massimo, il minimo e il consigliato SDK Android supportato dall'applicazione. L'Android Market filtra le applicazioni disponibili per uno specifico utente in base alle informazioni fornite da ogni file di configurazione AndroidManifest.xml, comprese quelle relative all'android SDK; Verificare di aver disabilitato l'opzione debuggable; 19

20 Verificare che tutti i permessi richiesti dall'applicazione siano appropriati per un corretto funzionamento della app: richiediamo solo i permessi davvero necessari e assicuriamoci di aver richiesto tutto il necessario indipendentemente da come si potrebbe comportare il device senza di essi. A questo punto possiamo passare alla fase di testing. Se durante i test dovessimo riscontrare dei bug o delle problematiche di qualche genere, si dovrà valutare la possibilità di interrompere il processo di rilascio per iniziarlo nuovamente una volta sistemate le problematiche riscontrate. Se la nostra applicazione ha superato la fase di testing, allora abbiamo ufficialmente la nostra release canditate build. A questo punto dobbiamo generare il package Android, nella pratica un file con estensione.apk, e ufficializzarlo con la firma digitale. Per completare facilmente questi passaggi il plugin di Android per Eclipse mette a disposizione un wizard che semplifica notevolmente il nostro lavoro. Per lanciare il wizard è sufficiente cliccare con il tasto destro del mouse sul nostro progetto e selezionare la voce Export. Nella finestra che compare selezioniamo l'opzione Android e poi Export Android Application come mostrato nella seguente figura: 20

21 Clicchiamo su Next e arriviamo alla schermata per la selezione della Keystore: Scegliamo l'opzione Create new keystore e nel campo Location inseriamo il percorso del file in cui vogliamo memorizzare la chiave. Inseriamo anche la password per la gestione della chiave, la confermiamo, e clicchiamo su Next. Accediamo dunque alla schermata Key Creation in cui dobbiamo inserire alcune informazioni dettagliate sulla chiave, come mostrato dalla seguente figura: 21

22 Il team di Android suggerisce per il campo Validity di inserire un valore almeno uguale a 25: l'android Market infatti rifiuta qualsiasi applicazione che non sia dichiarata valida fino alla data del 22 ottobre Clicchiamo su Next per accedere alla schermata Destination and key/certificate checks, selezioniamo la destinazione per il file.apk ed infine clicchiamo su Finish. Abbiamo così creato un application package file pronto per la pubblicazione: prima però di renderlo disponibile all'utente finale attraverso i market come l'android Market è consigliabile eseguire ancora qualche test sull'installazione del pacchetto.apk che abbiamo appena creato. Proviamo dunque ad installarlo e disinstallarlo sia nell'emulatore sia su uno o più device reali, in modo da verificare che il processo di installazione dell'.apk che vogliamo pubblicare sia completo e vada a buon fine. Conclusi anche questi test sul file.apk possiamo iniziare il procedimento per pubblicare la nostra applicazione nell'android Market. Per pubblicare applicazioni nell'android Market dobbiamo essere registrati come sviluppatori. Per registrarci è necessario accedere al link 22

23 Una volta entrati la prima cosa che dobbiamo fare è completare il profilo dello sviluppatore con le informazioni richieste (Developer name, Address, ecc.). Compilato il form con i dati dello sviluppatore possiamo andare avanti cliccando sul link Continue: a questo punto ci viene richiesto di pagare una piccola somma per la registrazione (25 dollari) e di fornire le informazioni per l'account Google Checkout Merchant. L'ultimo passaggio per concludere la registrazione è dare l'assenso per collegare la nostra carta di credito e il nostro account di registrazione all'android Market Developer Distribution Agreement. accediamo da loggati alla pagina principale dell'android Market, clicchiamo sul pulsante Upload Application e compiliamo il form che ci viene presentato con le informazioni richieste. Dovremo ad esempio caricare il file.apk creato durante la procedura di release, due screenshot dell'applicazione ed eventualmente un'immagine promozionale, e ancora dovremo specificare il tipo e la categoria dell'applicazione, eventualmente il prezzo, e dare il consenso ai termini delle correnti Android Content Guidelines. opo aver compilato correttamente il form per la pubblicazione e aver cliccato sul pulsante Publish, l'applicazione comparirà immediatamente nell'android Market: da questo momento potremo vedere le statistiche relative alla applicazione, come ad esempio quante volte è stata visitata, scaricata ed installata, ed anche i punteggi ricevuti dagli utenti. 23

24 2.JVoiceXML 2.1 Panoramica JvoiceXML è un implementazione del VoiceXML scritta nel linguaggio di programmazione Java con un architettura aperta ad estensioni personalizzate. Esso offre librerie e un interprete, per la facile creazione e processamento di documenti VoiceXML e questo tipo di implementazione è uno dei tanti che stà supportando gli standard Java API come : JSAPI:Questa implementazione può essere utilizzata su piattaforme di riconoscimento vocale e sintetizzatori. JVoiceXML offre due moduli di sintesi vocale per questa piattaforma: o Sphinx4: è un sistema di riconoscimento vocale scritto interamente in un linguaggio Java. È stato creato per mezzo di una collaborazione tra il gruppo Sphinx presso la Carnegie University,SunMicrosystemsLaboratories,MitsubishiElectricResearchLabs Mellon (MERL),and HewlettPackard (HP), con il contributo dell Università della California a Santa Cruz e la Massachusetts Institute of Technology(MIT). o FreeTTS: è un sistema di sintesi vocale scritto interamente in Java. Esso si basa su un piccolo motore di sintesi vocale Flite sviluppato presso la Carnegie Mellon University. Flite deriva dal sistema di sintesi vocale Festival presso l Università di Edimburgo e dal progetto FestVox presso la Carnegie Mellon University. FreeTTS è stato costruito dal Speech Integration Group of Sun Microsystems Laboratories: Willie Walker, Manager and Principal Investigator Paul Lamere, Staff Engineer Philip Kwok, Member of Technical Staff JTAPI:Questa piattaforma può essere utilizzata in aggiunta a qualsiasi altra piattaforma di implementazione per abilitare il supporto di telefonia. Attualmente ci sono alcuni test effettuati sulla piattaforma JSAPI, ma questi test hanno ancora bisogno di tempo per essere ottimizzati. VoiceXML è solo uno, anche se il principale, dei linguaggi di programmazione usati per creare interfacce vocali. Ogni qualvolta ci si appresti ad imparare un nuovo linguaggio ci si trova immediatamente di fronte a due tipologie di problemi: 24

25 il primo è quello che riguarda la sintassi, ovvero come scrivere una determinata istruzione per ottenere un certo effetto. il secondo riguarda la natura del linguaggio: su cosa si basa, quando si usa, come si usa e quali siano i suoi limiti. Per quanto riguarda il primo problema, trattandosi di un "dialetto" o più precisamente di una applicazione di XML, esso è composto da un numero di tag ridotti e la struttura dei documenti risulta piuttosto semplice. Il secondo punto, al contrario, rappresenta la principale problematica che possiamo avere nel comprendere quale sia lo scenario di riferimento e quali siano le difficoltà ed i limiti di in una programmazione di questo tipo. Prima di entrare nel dettaglio di come è stato strutturato il progetto,è bene fornire un illustrazione delle varie architetture che sono state utilizzate per realizzarlo. 2.2 Architettura JVoiceXML Figura 1: Architettura di base del JVoiceXML Vi sono principalmente due modi, di come i client possono interagire con JVoiceXML, ovvero utilizzando JNDI o utilizzando il CallMananger. La maggior parte dei client utilizzano il demo Java Naming Directory Interface per accedere al JVoiceXML. Attraverso il CallManager si possono effettuare chiamate per una applicazione con questa tecnologia. Attualmente c'è solo il supporto telefonia di base,ma gli utenti possono anche chiamare applicazioni dai propri programmi in Java. Concettualmente JNDI consente di connettersi a un JVoice-Server XML. JVoiceXML permette 25

26 anche di avere tutto ciò sul lato server, con l'aiuto di un CallManager. Questa architettura tipica di un browser vocale è mostrato in figura 2. Figura 2: Architettura JVoiceXML utilizzando un CallManager Qui JVoiceXML attende le chiamate in arrivo e una volta che il CallManager rileva una chiamata dal PBX(sistema telefonico), chiama l'applicazione configurata JVoiceXML che attraverso il protocollo http accede al Container servlet per interpretare il documento VoiceXML in questione. 2.3 ArchitetturaVoiceXML VoiceXML è uno standard basato su XML, sviluppato per creare dialoghi che prevedono sintesi vocale, riconoscimento vocale e di input telefonici, registrazione di parlato e conversazioni ad iniziativa mista. Al fine di comprendere il funzionamento di una applicazione vocale ci aiuteremo facendo dei paragoni con le note pagine internet: possiamo dire che l'architettura tipica di una applicazione Web comprende il server che ospita il sito e un application server che gestisca i database e il core della nostra applicazione. 26

27 Figura 2: Architettura di una applicazione vocale Questa architettura, rappresenta un grado di complessità medio-alta e nel momento in cui decidiamo di rendere attiva la nostra applicazione vocale, si creerà un nuovo layer di presentazione dei dati chiamato:interfaccia vocale. Una delle principali peculiarità del linguaggio VoiceXML è quella di essere costruito per sviluppare applicazioni voice-enabled orientate al Web: ciò significa essere in grado di produrre pagine VoiceXML anche attraverso linguaggi server side (ASP, ASP.NET, JSP, PHP, ecc.).per capire come questo sia possibile,possiamo vedere la parte bassa della figura 1 dove l'utente si connette tramite il telefono al Voice Gateway senza dover ricorrere ad un particolare browser o plugin. Il Voice Gateway è, fondamentalmente, un server con i seguenti requisiti: Ha un interprete VoiceXML, in grado di testare documenti Voice XML. Uno o più motori di riconoscimento vocale (ASR: Automatic Speech Recognition) che servono per ascoltare gli input degli utenti. Tecnologia alla base del riconoscimento del linguaggio orale umano da parte di un computer. Il software ASR utilizzato in questo progetto prevede 3 modelli differenti che sono utilizzati nel processo di riconoscimento del parlato: o un modello acustico, che contiene le rappresentazioni dei suoni che compongono una parola 27

28 o un dizionario fonetico, che contiene le parole disponibili in un certo linguaggio e la pronuncia espressa nei fonemi definiti nel modello acustico o un modello del linguaggio, utilizzato per restringere la ricerca delle parole, definendo quale parola potrebbe seguire quella precedentemente riconosciuta Uno o più motori di sintesi vocale (TTS: Text-to-speech) che vengono utilizzati per produrre un output vocale da un testo sintetizzato. I sistemi TTS, anche detti sistemi di sintesi vocale, o sintetizzatori vocali, sono quei sistemi che si occupano della riproduzione artificiale della voce umana. Esistono diverse tecnologie di sintesi vocale, ma i sistemi di sintesi vocale utilizzati in questo progetto utilizzano tutti la sintesi concatenativa che risulta superiore alle altre tecnologie: meno pesante computazionalmente o offrono un parlato non naturale. La sintesi concatenativa si basa sulla combinazione di frammenti di voce registrati di vario tipo: ad esempio nella sintesi concatenativa per campioni unitari si possono utilizzare come frammenti suoni isolati, sillabe, parole, frasi o addirittura periodi, mentre nella sintesi concatenativa per difoni (utilizzata nella voce default nel sistema TTS utilizzato in questo progetto) si utilizzano i difoni, ovvero le transizioni da suoni diversi. Una scheda telefonica,nel caso di sintetizzatore telefonico,per accettare flussi telefonici in ingresso. Ovviamente al posto della scheda telefonica si può veicolare la telefonata attraverso VOIP o SIP. Quando un utente si connette ad una applicazione vocale in generale: L'utente avvia l applicazione JvoiceXML collegata al nostro Voice Gateway. Il Gateway interpreta le istruzioni contenute nel file VoiceXML, producendo un messaggio vocale attraverso la sintesi (TTS), e ricevendo ed interpretando gli input dell'utente (ASR). Inoltre, il Voice Gateway dialoga con il Web Server attraverso il protocollo HTTP e invia dati all' "applicationlayer". Quindi possiamo affermare che il Voice Gateway si preoccupa soltanto di leggere il contenuto dei file VoiceXML inviati dal server Web e di raccogliere gli input dell'utente. Il server Web riceve le richieste e rende disponibili i file VoiceXML che arrivano dal Voice Gateway per la loro interpretazione. Dopo tutto ciò,possiamo quindi mostrare la vera struttura del VoiceXML: 28

29 Il Document Server si occupa di fornire i dialoghi all interprete che esegue il suo lavoro all interno di un contesto. L interprete e il suo Context comunicano direttamente con la Implementation Platform che ha il compito di gestire l interazione con l utente. Va ricordato che questo linguaggio nasce inizialmente per sviluppare applicazioni vocali a cui si accede via telefono e,con la seguente cura da parte del W3C,si apre a portali vocali con l aiuto della tecnologia VoIP (Voice over Internet Protocol). Le richieste e l invio dei dati delle form, secondo la specifica del W3C, dovrebbero avvenire attraverso metodi http. Fondamentalmente il modello di interazione è di tipo client-server, in cui gli utilizzatori delle applicazioni vocali si collegano al fornitore di servizi attraverso il telefono o programmi specifici di tipo Voice Browser. In alcuni casi l interprete si trova sul lato server, per ovvi motivi nel caso di accesso da telefono, ma anche per ridurre lo sforzo computazionale a carico dei client nelle altre situazioni. Vediamo infine i principali vantaggi dell utilizzo di VoiceXML: Facilità di scrittura e lettura dei dialoghi essendo un derivato del linguaggio XML. Possibilità di creazione grafica con appositi tools. Separazione della logica del dialogo dal codice dell applicazione, questo permette una più facile manutenzione e possibilità di cambiare i dialoghi senza riscrivere tutto il codice. 2.4 Software necessari per JVoiceXML Nella realizzazione di questo progetto abbiamo utilizzato 2 tipi si software,ed in questo paragrafo illustreremo in modo generale cosa sono e su cosa si basano. 29

30 Eclipse : è un linguaggio di programmazione orientato agli oggetti. I documenti scritti sotto questa piattaforma utilizzano il linguaggio Java, che poi saranno lanciati su una Java Virtual Machine e, a tempo di esecuzione, avranno accesso alle API della libreria standard. Ciò fornisce un livello di astrazione che permette alle applicazioni di essere interamente indipendenti dal sistema su cui esse saranno eseguite. Parti del codice di JVoiceXML utilizzano funzioni del JAVA 7 API, necessari e almeno per compilare il codice. Tomcat :Tomcat è un prodotto free e open source sviluppato in Java all interno della fondazione Apache. Tomcat realizza le funzioni di: o Web server o Container per le web application conforme alle specifiche Java 2 Enteprise Edition (J2EE).Il che significa che Tomcat funziona da motore per Servlet e Java Server Pages (JSP). Il fatto che Tomcat funga da web server fa sì che una volta connessi ad Internet, il nostro computer pubblica le informazioni (risponde alle richieste http) esattamente come un qualsiasi altro nodo della rete e quindi il nostro sito potrebbe essere visitato da un browser su un computer remoto. Nel nostro caso,i documenti VoiceXML risiederanno all interno del Container di Tomcat nel quale JvoiceXML avrà accesso attraverso il protocollo http per selezionare il documento ed eseguirlo. 30

31 3.Realizzazione del progetto La prima fase di tirocinio è stata quella di acquisire le basi della programmazione Android e studiare lo standard VoiceXml, sviluppando degli esempi per prendere praticità con gli strumenti. In un primo momento avevamo deciso, insieme al prof. Dragoni, di implementare un dialogo su Android con un robot. Ma a fronte di una moltitudine di problemi, incompatibilità dell interprete JVoiceXML e soprattutto della scarsa documentazione al caso, abbiamo deciso di sviluppare il sistema su desktop. 3.1 Applicazione finale Prima di tutto abbiamo sviluppato un client che interagisce in remoto con il JVoiceXML e inizializza le chiamate. Il dialogo è stato realizzato in vxml (per maggiori dettagli leggere la tesi del mio collaboratore Marco Brunetti). Dopo aver creato la classe Prova con all interno il metodo main abbiamo bisogno di connetterci al browser vocale JVoiceXML. Ecco l aspetto del nostro interprete JVoiceXML: 31

32 JVoiceXML usa le JNDI su RMI (Remote Method Invocation) per tale scopo. Apriamo una parentesi sul sistema RMI. Le applicazioni RMI sono generalmente costituite da due parti: la parte server crea gli oggetti remoti ed i riferimenti a questi e quindi attende l invocazione dei metodi da parte di un client la parte client recupera i riferimenti a questi oggetti e ne invoca i metodi Le applicazioni RMI necessitano di: poter recuperare oggetti remoti comunicare con oggetti remoti caricare classi per oggetti che sono passati come parametri o restituiti come valore L invocazione di metodi remoti è totalmente trasparente al programmatore: i livelli Remote Reference Layer e Transport Layer si occupano di fatto della gestione a basso livello della comunicazione: Il Remote Reference Layer (RRL) ha il compito di instaurare la connessione fra il client e il server eseguendo operazioni di codifica e decodifica dei dati Il Transport Layer esegue la connessione vera e propria tra le macchine utilizzando quindi i socket con il protocollo TCP/IP. Per ottenere un riferimento, in remoto, al JVoiceXML occorre inserire le seguenti librerie: import javax.naming.context; import javax.naming.initialcontext; import org.jvoicexml.jvoicexml; Poi abbiamo creato e inizializzato un oggetto Context, per accedere alle risorse JNDI attraverso il seguente codice: Context context = null; context = new InitialContext(); 32

33 Le impostazioni che regolano tutto questo sono contenute in un file denominato jndi.properties, il quale deve essere inserito nel CLASSPATH del progetto. Il file jndi.properties contiene il seguente codice: java.naming.factory. initial =\ com.sun.jndi.rmi. registry.registrycontextfactory java.naming.provider.url=rmi://localhost:1099 java.naming.rmi.security.manager=true La location del JVoiceXML è memorizzata nella proprietà java.naming.provider.url. Se si desidera accedere a JVoiceXML su un altro computer, devi sostituire il localhost con un indirizzo IP oppure con il nome del computer. Le classi che sono necessarie per accedere al JVoiceXML, come org.jvoicexml.jvoicexml, fanno parte del jvxml-client.jar e jvxml-xml.jar, file che si trovano all interno della cartella lib di installazione del JVoiceXML. Questi file contengono tutte le classi che tu hai bisogno per scrivere un applicazione client. Se si utilizza un implementation platform diverso, potrebbe essere necessario aggiungere altre jar alle librerie del client. Non ci resta che chiamare il browser per elaborare la richiesta. Questo viene eseguito dall oggetto org.jvoicexml.session (import org.jvoicexml.session). L argomento del metodo createsession() è un oggetto ConnectionInformation. Questo object è responsabile della selezione dell implementation platform che abbiamo intenzione di utilizzare. Un implementation platform dispone di tre tipi di risorse: telephony, system output user input. Le risorse sono identificate da stringhe. Noi abbiamo usato un dummy telephony implementation e system output e user input del JSAPI 1.0 implementation platform. Questa combinazione fa uso di microfono e altoparlante del PC. Utilizziamo la risorsa dummy in modo da non toccare la telefonia. Con la chiamata jvxml.createsession(info), si crea una sessione che è legata ai tipi di risorse in questione. L argomento del metodo session.call(uri) deve puntare all URI della radice del documento dell applicazione. Abbiamo visto che l implementazione delle JNDI si basa su RMI e l implementazione per l uso delle interfacce è ottenuto dal codice RMI dinamico. Questo significa che è necessario fornire la posizione delle librerie con l implementazione delle interfacce e un file di sicurezza chiamato jvoicexml.policy. Questo file riguarda tutti i permessi dell utente remoto. In generale contiene: 33

34 grant { permission java. security.allpermission; 3 }; Nel caso restrittivo ha il seguente contenuto: grant { 2 permission java. util.propertypermission jvoicexml.vxml.version, read ; permission java. util.propertypermission jvoicexml.xml.encoding, read ; permission java.net.socketpermission :1024, connect,resolve ; permission java. io.filepermission ${JVOICEXML HOME}/lib/, read ; }; La posizione del file è data dalla seguente proprietà: Djava.security.policy=jvoicexml.policy Queste immagini descrivono la posizione del file: Primo passo è andare sulla cartella del progetto, posizionarsi sul nome della classe Demo.class e poi andare sul menu Run. Dal menu cliccare Run Configuration. 34

35 Dal menu Run configuration, cercare il nome della classe sotto Java Application e cliccare su (x)=arguments. Ultimo passo, nella sezione VM arguments inserire Djava.security.policy=jvoicexml.policy 35

36 36

37 3.2Codice del progetto import java.net.uri; import java.net.urisyntaxexception import javax.naming.context; import javax.naming.initialcontext; import org.jvoicexml.connectioninformation; import org.jvoicexml.jvoicexml; import org.jvoicexml.session; import org.jvoicexml.client.basicconnectioninformation; import org.jvoicexml.event.errorevent; public class Prova { /** args */ public static void main(string[] args) { //inizializza il servizio di naming definito nel file jndi.properties Context context = null; try { context = new InitialContext(); } catch (javax.naming.namingexception ne) { ne.printstacktrace(); System.exit(0); } 37

38 //comunica con l'interprete attraverso jndi JVoiceXml jvxml = null; try { jvxml = (JVoiceXml) context.lookup("jvoicexml"); } catch (javax.naming.namingexception ne) { ne.printstacktrace(); System.exit(0); } //l'interprete utilizza le jsapi 1.0 final ConnectionInformation info = new BasicConnectionInformation( "dummy", "jsapi10", "jsapi10"); //i file voicexml risiedono su un document server Tomcat try { final Session session = jvxml.createsession(info); final URI uri = new URI(" session.call(uri); session.waitsessionend(); session.hangup(); } catch (ErrorEvent URISyntaxException e) { // TODO Auto-generated catch block e.printstacktrace(); } }} 38

39 3.3.Config progetto -Ecco le jar utilizzate: D:\Programmi\Java\jre7\lib\resources.jar D:\Programmi\Java\jre7\lib\rt.jar D:\Programmi\Java\jre7\lib\jsse.jar D:\Programmi\Java\jre7\lib\jce.jar D:\Programmi\Java\jre7\lib\charsets.jar D:\Programmi\Java\jre7\lib\jfr.jar D:\Programmi\Java\jre7\lib\ext\access-bridge.jar D:\Programmi\Java\jre7\lib\ext\dnsns.jar D:\Programmi\Java\jre7\lib\ext\jaccess.jar D:\Programmi\Java\jre7\lib\ext\localedata.jar D:\Programmi\Java\jre7\lib\ext\sunec.jar D:\Programmi\Java\jre7\lib\ext\sunjce_provider.jar D:\Programmi\Java\jre7\lib\ext\sunmscapi.jar D:\Programmi\Java\jre7\lib\ext\sunpkcs11.jar D:\Programmi\Java\jre7\lib\ext\zipfs.jar -Referenced Libraries: D:\Programmi\JVoiceXML\lib\chardet.jar D:\Programmi\JVoiceXML\lib\commons-codec-1.4.jar D:\Programmi\JVoiceXML\lib\commons-lang-2.3.jar D:\Programmi\JVoiceXML\lib\commons-logging jar D:\Programmi\JVoiceXML\lib\commons-pool jar D:\Programmi\JVoiceXML\lib\httpclient jar D:\Programmi\JVoiceXML\lib\httpcore-4.1.jar D:\Programmi\JVoiceXML\lib\httpcore-nio-4.1.jar D:\Programmi\JVoiceXML\lib\httpmime jar D:\Programmi\JVoiceXML\lib\jlibrtp.jar D:\Programmi\JVoiceXML\lib\jmf.jar D:\Programmi\JVoiceXML\lib\js.jar 39

40 D:\Programmi\JVoiceXML\lib\jsapi.jar D:\Programmi\JVoiceXML\lib\jsr113.jar D:\Programmi\JVoiceXML\lib\jvxml-client.jar D:\Programmi\JVoiceXML\lib\log4j jar D:\Programmi\JVoiceXML\lib\org.jvoicexml.jar D:\Programmi\JVoiceXML\lib\org.jvoicexml.config.jar D:\Programmi\JVoiceXML\lib\org.jvoicexml.implementation.jsapi10.jar D:\Programmi\JVoiceXML\lib\org.jvoicexml.implementation.jsapi20.jar D:\Programmi\JVoiceXML\lib\org.jvoicexml.jndi.jar D:\Programmi\JVoiceXML\lib\org.jvoicexml.jsapi2.jar D:\Programmi\JVoiceXML\lib\org.jvoicexml.jsapi2.jse.jar D:\Programmi\JVoiceXML\lib\org.jvoicexml.processor.srgs.jar D:\Programmi\JVoiceXML\lib\org.jvoicexml.xml.jar D:\Programmi\JVoiceXML\lib\org.springframework.beans RELEASE.jar D:\Programmi\JVoiceXML\lib\org.springframework.core RELEASE.jar I passi per inserire le.jar riferite al JVoiceXML sono i seguenti: 1-Andare sul nome del progetto. Cliccare su file e poi properties. 40

41 2-Dal menu a sinistra cliccare su Java build Path e andare sulla voce Libraries. 41

42 3-Cliccare su Add External JARs.. e aggiungere tutte le jar che si trovano nella cartella lib contenuta nella cartella di installazione JVoiceXML. 42

43 43

Tecniche di progettazione e sviluppo di applicazioni mobile

Tecniche di progettazione e sviluppo di applicazioni mobile Slide del corso FSE Tecniche di progettazione e sviluppo di applicazioni mobile svolto presso AREA Science Park Padriciano - Trieste - Italy diegozabot@yahoo.it Android Introduzione diegozabot@yahoo.it

Dettagli

Configurare TPTP in Eclipse e testare un applicazione

Configurare TPTP in Eclipse e testare un applicazione Configurare TPTP in Eclipse e testare un applicazione Questa guida concentra la sua attenzione sul tool TPTP (Test & Performance Tools Platform) presente nell ambiente di sviluppo Eclipse. Verrà descritta

Dettagli

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Il software per gli esami ICON può essere eseguito su qualunque computer dotato di Java Virtual Machine aggiornata.

Dettagli

Tale attività non è descritta in questa dispensa

Tale attività non è descritta in questa dispensa Fondamenti di informatica Oggetti e Java ottobre 2014 1 Nota preliminare L installazione e l uso di Eclipse richiede di aver preliminarmente installato Java SE SDK Tale attività non è descritta in questa

Dettagli

Sistemi Mobili e Wireless Android Primi passi

Sistemi Mobili e Wireless Android Primi passi Sistemi Mobili e Wireless Android Primi passi Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Ambiente di sviluppo L'ambiente

Dettagli

Visual basic base Lezione 01. L'ambiente di sviluppo

Visual basic base Lezione 01. L'ambiente di sviluppo L'ambiente di sviluppo L'ambiente di sviluppo Visual basic è un linguaggio di programmazione Microsoft. In questo corso prenderemo in considerazione, l'ultima versione. net di questo linguaggio. Microsoft

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di

Dettagli

File, Modifica, Visualizza, Strumenti, Messaggio

File, Modifica, Visualizza, Strumenti, Messaggio Guida installare account in Outlook Express Introduzione Questa guida riguarda di sicuro uno dei programmi maggiormente usati oggi: il client di posta elettronica. Tutti, ormai, siamo abituati a ricevere

Dettagli

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0 Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2

Dettagli

GUIDA OPERATIVA APPLICAZIONE PER LA VISUALIZZAZIONE DELLE FORNITURE DEI DATI DEI FABBRICATI MAI DICHIARATI CON ACCERTAMENTO CONCLUSO

GUIDA OPERATIVA APPLICAZIONE PER LA VISUALIZZAZIONE DELLE FORNITURE DEI DATI DEI FABBRICATI MAI DICHIARATI CON ACCERTAMENTO CONCLUSO GUIDA OPERATIVA APPLICAZIONE PER LA VISUALIZZAZIONE DELLE FORNITURE DEI DATI DEI FABBRICATI MAI DICHIARATI CON ACCERTAMENTO CONCLUSO 27 Giugno 2011 DOC. ES-31-IS-0B PAG. 2 DI 26 INDICE PREMESSA 3 1. INSTALLAZIONE

Dettagli

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE

Dettagli

Il web server Apache Lezione n. 3. Introduzione

Il web server Apache Lezione n. 3. Introduzione Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar

Dettagli

Scuola Professionale e Filologica Geom. F.Borgogna Vercelli

Scuola Professionale e Filologica Geom. F.Borgogna Vercelli Scuola Professionale e Filologica Geom. F.Borgogna Vercelli Corsi ANDROID 2013/2014 Benvenuti nel mondo dinamico dello sviluppo di applicazioni per smartphone e tablet Android Corsi ANDROID 2013/2014 L

Dettagli

SOMMARIO... 3 INTRODUZIONE...

SOMMARIO... 3 INTRODUZIONE... Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...

Dettagli

Corso Eclipse. Prerequisiti. 1 Introduzione

Corso Eclipse. Prerequisiti. 1 Introduzione Corso Eclipse 1 Introduzione 1 Prerequisiti Uso elementare del pc Esecuzione ricerche su Internet Esecuzione download Conoscenza elementare della programmazione 2 1 Cos è Eclipse Eclipse è un IDE (Integrated

Dettagli

Guida all Utilizzo dell Applicazione Centralino

Guida all Utilizzo dell Applicazione Centralino Guida all Utilizzo dell Applicazione Centralino 1 Introduzione Indice Accesso all applicazione 3 Installazione di Vodafone Applicazione Centralino 3 Utilizzo dell Applicazione Centralino con accessi ad

Dettagli

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica.

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica. Tecnologie informatiche ACCESSO REMOTO CON WINDOWS Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica. Un esempio di tale servizio

Dettagli

GUIDA UTENTE PRIMA NOTA SEMPLICE

GUIDA UTENTE PRIMA NOTA SEMPLICE GUIDA UTENTE PRIMA NOTA SEMPLICE (Vers. 2.0.0) Installazione... 2 Prima esecuzione... 5 Login... 6 Funzionalità... 7 Prima Nota... 8 Registrazione nuovo movimento... 10 Associazione di file all operazione...

Dettagli

Utilizzo della APP IrriframeVoice. Versione 1.0 maggio 2015

Utilizzo della APP IrriframeVoice. Versione 1.0 maggio 2015 Utilizzo della APP IrriframeVoice Versione 1.0 maggio 2015 0.0 Installazione Sul telefono o sul tablet andare sullo store delle applicazioni per scaricare la APP A seconda del sistema operativo del telefono

Dettagli

Guida informatica per l associazione #IDEA

Guida informatica per l associazione #IDEA Guida informatica per l associazione #IDEA Questa guida vi spiegherà come utilizzare al meglio gli strumenti informatici che utilizza l associazione #IDEA in modo da facilitare il coordinamento con tutti

Dettagli

Manuale per la configurazione di AziendaSoft in rete

Manuale per la configurazione di AziendaSoft in rete Manuale per la configurazione di AziendaSoft in rete Data del manuale: 7/5/2013 Aggiornamento del manuale: 2.0 del 10/2/2014 Immagini tratte da Windows 7 Versione di AziendaSoft 7 Sommario 1. Premessa...

Dettagli

spiega una guida Inizia >

spiega una guida Inizia > spiega una guida Inizia > Indice Cos è? > Per chi? > Come? > da Gmail > da Google+ > da Google Chrome > da app > Cosa? > messaggi istantanei > videoconferenze > chiamate telefoniche > sms > creatività

Dettagli

PORTALE CLIENTI Manuale utente

PORTALE CLIENTI Manuale utente PORTALE CLIENTI Manuale utente Sommario 1. Accesso al portale 2. Home Page e login 3. Area riservata 4. Pagina dettaglio procedura 5. Pagina dettaglio programma 6. Installazione dei programmi Sistema operativo

Dettagli

Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta

Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta. Configurazione Account di posta dell Università di Ferrara con il Eudora email Eudora email può

Dettagli

GUIDA UTENTE WEB PROFILES

GUIDA UTENTE WEB PROFILES GUIDA UTENTE WEB PROFILES GUIDA UTENTE WEB PROFILES... 1 Installazione... 2 Primo avvio e registrazione... 5 Utilizzo di web profiles... 6 Gestione dei profili... 8 Fasce orarie... 13 Log siti... 14 Pag.

Dettagli

STUDIUM.UniCT Tutorial per gli studenti

STUDIUM.UniCT Tutorial per gli studenti STUDIUM.UniCT Tutorial per gli studenti Studium.UniCT Tutorial Studenti v. 6 06/03/2014 Pagina 1 Sommario 1. COS È STUDIUM.UniCT... 3 2. COME ACCEDERE A STUDIUM.UniCT... 3 3. COME PERSONALIZZARE IL PROFILO...

Dettagli

GUIDA UTENTE MONEY TRANSFER MANAGER

GUIDA UTENTE MONEY TRANSFER MANAGER GUIDA UTENTE MONEY TRANSFER MANAGER (vers. 1.0.2) GUIDA UTENTE MONEY TRANSFER MANAGER (vers. 1.0.2)... 1 Installazione... 2 Prima esecuzione... 5 Login... 7 Funzionalità... 8 Anagrafica... 9 Registrazione

Dettagli

DINAMIC: gestione assistenza tecnica

DINAMIC: gestione assistenza tecnica DINAMIC: gestione assistenza tecnica INSTALLAZIONE SU SINGOLA POSTAZIONE DI LAVORO PER SISTEMI WINDOWS 1. Installazione del software Il file per l installazione del programma è: WEBDIN32.EXE e può essere

Dettagli

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo Direzione Centrale per le Politiche dell Immigrazione e dell Asilo Sistema inoltro telematico domande di nulla osta, ricongiungimento e conversioni Manuale utente Versione 2 Data creazione 02/11/2007 12.14.00

Dettagli

GRUPPO CAMBIELLI. Posta elettronica (Webmail) Consigli di utilizzo

GRUPPO CAMBIELLI. Posta elettronica (Webmail) Consigli di utilizzo GRUPPO CAMBIELLI Posta elettronica (Webmail) Consigli di utilizzo Questo sintetico manuale ha lo scopo di chiarire alcuni aspetti basilari per l uso della posta elettronica del gruppo Cambielli. Introduzione

Dettagli

La VPN con il FRITZ!Box Parte II. La VPN con il FRITZ!Box Parte II

La VPN con il FRITZ!Box Parte II. La VPN con il FRITZ!Box Parte II La VPN con il FRITZ!Box Parte II 1 Introduzione In questa mini-guida mostreremo com è possibile creare un collegamento su Internet tramite VPN(Virtual Private Network) tra il FRITZ!Box di casa o dell ufficio

Dettagli

GUIDA UTENTE BILLIARDS COUNTER (Vers. 1.2.0)

GUIDA UTENTE BILLIARDS COUNTER (Vers. 1.2.0) ------------------------------------------------- GUIDA UTENTE BILLIARDS COUNTER (Vers. 1.2.0) GUIDA UTENTE BILLIARDS COUNTER (Vers. 1.2.0)... 1 Installazione Billiards Counter... 2 Primo avvio e configurazione

Dettagli

FPf per Windows 3.1. Guida all uso

FPf per Windows 3.1. Guida all uso FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete

Dettagli

filrbox Guida all uso dell applicazione DESKTOP Pag. 1 di 27

filrbox Guida all uso dell applicazione DESKTOP Pag. 1 di 27 filrbox Guida all uso dell applicazione DESKTOP Pag. 1 di 27 Sommario Introduzione... 3 Download dell applicazione Desktop... 4 Scelta della versione da installare... 5 Installazione... 6 Installazione

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Guida rapida all uso di Moodle per gli studenti

Guida rapida all uso di Moodle per gli studenti Guida rapida all uso di Moodle per gli studenti Introduzione La piattaforma utilizzata per le attività a distanza è Moodle, un software per la gestione di corsi on-line. Per chi accede come studente, essa

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

Dettagli

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo Creazione di moduli Creazione di moduli Che cos'è un modulo? Un elenco di domande accompagnato da aree in cui è possibile scrivere le risposte, selezionare opzioni. Il modulo di un sito Web viene utilizzato

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli) SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli) Le seguenti istruzioni sono relative all installazione di SPSS Statistics con licenza per utenti singoli. Una

Dettagli

PROCEDURE DI FIRMA PER I PIP PRESENTATI NEI BANDI APPRENDISTATO

PROCEDURE DI FIRMA PER I PIP PRESENTATI NEI BANDI APPRENDISTATO PROCEDURE DI FIRMA PER I PIP PRESENTATI NEI BANDI APPRENDISTATO 1 - INTRODUZIONE Scopo del presente documento è descrivere le procedure attuabili per la firma dei PIP presentati nei bandi apprendistato

Dettagli

L ambiente di sviluppo Android Studio

L ambiente di sviluppo Android Studio L ambiente di sviluppo Android Studio Android Studio è un ambiente di sviluppo integrato (IDE, Integrated Development Environment) per la programmazione di app con Android. È un alternativa all utilizzo

Dettagli

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste versione 2.1 24/09/2015 aggiornamenti: 23-set-2015; 24-set-2015 Autore: Francesco Brunetta (http://www.francescobrunetta.it/)

Dettagli

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

Dettagli

MANUALE CONFIGURAZIONE APPLICAZIONE IOS vers. 1.01

MANUALE CONFIGURAZIONE APPLICAZIONE IOS vers. 1.01 MANUALE CONFIGURAZIONE APPLICAZIONE IOS vers. 1.01 www.ipdoor.com CONFIGURAZIONE INTRODUZIONE DI RETE www.ipdoor.com L applicazione mobile ios è gratuita ed è scaricabile tramite Apple Store. E studiata

Dettagli

OwnCloud Guida all installazione e all uso

OwnCloud Guida all installazione e all uso INFN Sezione di Perugia Servizio di Calcolo e Reti Fabrizio Gentile OwnCloud Guida all installazione e all uso 1 SOMMARIO 2 Introduzione... 1 2.1 Alcune delle funzioni di OwnCloud... 2 2.2 Chi può usufruirne...

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate MODULO BASE Quanto segue deve essere rispettato se si vuole che le immagini presentate nei vari moduli corrispondano, con buona probabilità, a quanto apparirà nello schermo del proprio computer nel momento

Dettagli

1 Introduzione...1 2 Installazione...1 3 Configurazione di Outlook 2010...6 4 Impostazioni manuali del server... 10

1 Introduzione...1 2 Installazione...1 3 Configurazione di Outlook 2010...6 4 Impostazioni manuali del server... 10 Guida per l installazione e la configurazione di Hosted Exchange Professionale con Outlook 2010 per Windows XP Service Pack 3, Windows Vista e Windows 7 Edizione del 20 febbraio 2012 Indice 1 Introduzione...1

Dettagli

A T I C _W E B G U I D A AL L A N A V I G A Z I O N E S U L S I T O D E L G R U P P O. Rev. 2.1

A T I C _W E B G U I D A AL L A N A V I G A Z I O N E S U L S I T O D E L G R U P P O. Rev. 2.1 G U I D A AL L A N A V I G A Z I O N E S U L S I T O D E L G R U P P O A T I C _W E B Rev. 2.1 1 1. ISCRIZIONE Le modalità di iscrizione sono due: Iscrizione volontaria Iscrizione su invito del Moderatore

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE 1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma

Dettagli

Console di Amministrazione Centralizzata Guida Rapida

Console di Amministrazione Centralizzata Guida Rapida Console di Amministrazione Centralizzata Contenuti 1. Panoramica... 2 Licensing... 2 Panoramica... 2 2. Configurazione... 3 3. Utilizzo... 4 Gestione dei computer... 4 Visualizzazione dei computer... 4

Dettagli

Studio Legale. Guida operativa

Studio Legale. Guida operativa Studio Legale Guida operativa Cliens Studio Legale Web Cliens Studio Legale Web è un nuovo strumento che consente all avvocato di consultare i dati presenti negli archivi Cliens del proprio studio, attraverso

Dettagli

PROGETTO PER LA TRASMISSIONE DOCUMENTI RELATIVI ALL APPROVAZIONE DELLE MANIFESTAZIONI IN FORMA DIGITALE

PROGETTO PER LA TRASMISSIONE DOCUMENTI RELATIVI ALL APPROVAZIONE DELLE MANIFESTAZIONI IN FORMA DIGITALE PROGETTO PER LA TRASMISSIONE DOCUMENTI RELATIVI ALL APPROVAZIONE DELLE MANIFESTAZIONI IN FORMA DIGITALE L approvazione di una manifestazione nazionale od internazionale comporta spesso la trasmissione

Dettagli

Client - Server. Client Web: il BROWSER

Client - Server. Client Web: il BROWSER Client - Server Client Web: il BROWSER Il client Web è un applicazione software che svolge il ruolo di interfaccia fra l utente ed il WWW, mascherando la complessità di Internet. Funzioni principali Inviare

Dettagli

INDICE. IL CENTRO ATTIVITÀ... 3 I MODULI... 6 IL MY CLOUD ANASTASIS... 8 Il menu IMPORTA... 8 I COMANDI DEL DOCUMENTO...

INDICE. IL CENTRO ATTIVITÀ... 3 I MODULI... 6 IL MY CLOUD ANASTASIS... 8 Il menu IMPORTA... 8 I COMANDI DEL DOCUMENTO... MANCA COPERTINA INDICE IL CENTRO ATTIVITÀ... 3 I MODULI... 6 IL MY CLOUD ANASTASIS... 8 Il menu IMPORTA... 8 I COMANDI DEL DOCUMENTO... 12 I marchi registrati sono proprietà dei rispettivi detentori. Bologna

Dettagli

IRSplit. Istruzioni d uso 07/10-01 PC

IRSplit. Istruzioni d uso 07/10-01 PC 3456 IRSplit Istruzioni d uso 07/10-01 PC 2 IRSplit Istruzioni d uso Indice 1. Requisiti Hardware e Software 4 1.1 Requisiti Hardware 4 1.2 Requisiti Software 4 2. Installazione 4 3. Concetti fondamentali

Dettagli

Istruzioni. Il cuore del dispositivo è un Embedded PC Linux che raccoglie e gestisce tutte le funzioni dell' apparecchiatura.

Istruzioni. Il cuore del dispositivo è un Embedded PC Linux che raccoglie e gestisce tutte le funzioni dell' apparecchiatura. Istruzioni D-Cold Room Datalogger è un dispositivo nato con lo scopo di monitorare le celle refrigerate, gli armadi frigo e qualunque altro apparecchio che necessiti di un controllo costante e continuo.

Dettagli

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia Scuola Digitale Manuale utente Copyright 2014, Axios Italia 1 SOMMARIO SOMMARIO... 2 Accesso al pannello di controllo di Scuola Digitale... 3 Amministrazione trasparente... 4 Premessa... 4 Codice HTML

Dettagli

Guida rapida alla Webconferencing

Guida rapida alla Webconferencing Guida rapida alla Webconferencing Questa Guida rapida illustra le operazioni più frequenti nell utilizzo di MeetIn Web. In particolare: Eseguire il settaggio iniziale di dispositivi audio e video Connettersi

Dettagli

Alfa Layer S.r.l. Via Caboto, 53 10129 Torino ALFA PORTAL

Alfa Layer S.r.l. Via Caboto, 53 10129 Torino ALFA PORTAL ALFA PORTAL La struttura e le potenzialità della piattaforma Alfa Portal permette di creare, gestire e personalizzare un Portale di informazione in modo completamente automatizzato e user friendly. Tramite

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

COMUNIC@CTION INVIO SMS

COMUNIC@CTION INVIO SMS S I G e s t S.r.l S e d e l e g a l e : V i a d e l F o r n o 3 19125 L a S p e z i a T e l e f o n o 0187/284510/15 - F a x 0187/525519 P a r t i t a I V A 01223450113 COMUNIC@CTION INVIO SMS GUIDA ALL

Dettagli

Il tutor è a disposizione per ogni chiarimento

Il tutor è a disposizione per ogni chiarimento INDICAZIONI PER ESSERE OPERATIVI Alcune istruzioni per rendervi la vita più facile e accedere alle risorse del percorso online di Sociologia intuitivamente Il tutor è a disposizione per ogni chiarimento

Dettagli

1. Il Client Skype for Business

1. Il Client Skype for Business 1. Il Client Skype for Business 2. Configurare una Periferica Audio 3. Personalizzare una Periferica Audio 4. Gestire gli Stati di Presenza 5. Tabella Stati di Presenza 6. Iniziare una Chiamata 7. Iniziare

Dettagli

Lande Immortali: Riepilogo dello Stato di Avanzamento del Progetto

Lande Immortali: Riepilogo dello Stato di Avanzamento del Progetto Lande Immortali: Riepilogo dello Stato di Avanzamento del Progetto Progetto a cura di Martino Michele Matricola: 0124000461 Miglio Stefano Matricola: 0124000462 Obiettivi Iniziali Si intende realizzare

Dettagli

Manuale Operativo per la firma digitale

Manuale Operativo per la firma digitale Manuale Operativo per la firma digitale Indice 1. Introduzione... 3 2. Installazione del lettore di smart card... 3 3. Installazione del Dike... 8 4. Attivazione della smart card... 9 5. PIN per la firma

Dettagli

Corso basi di dati Installazione e gestione di PWS

Corso basi di dati Installazione e gestione di PWS Corso basi di dati Installazione e gestione di PWS Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Cosa è PWS? Il Personal Web Server altro non è che una versione ridotta del

Dettagli

MANUALE UTENTE Fiscali Free

MANUALE UTENTE Fiscali Free MANUALE UTENTE Fiscali Free Le informazioni contenute in questa pubblicazione sono soggette a modifiche da parte della ComputerNetRimini. Il software descritto in questa pubblicazione viene rilasciato

Dettagli

Programmazione in ambiente

Programmazione in ambiente Università Politecnica delle Marche Dipartimento di Ingegneria dell Informazione Programmazione in ambiente Android Laura Montanini - laura.montanini@univpm.it Corso di Tecnologie per le TLC 2013-2014

Dettagli

Dropbox di classe. É un servizio internet fornito gratuitamente (funzioni base).

Dropbox di classe. É un servizio internet fornito gratuitamente (funzioni base). Dropbox di classe Lo scopo del servizio Dropbox di classe è quello di far conoscere ai docenti del nostro istituto il funzionamento di un sistema di Cloud Storage, pronto e facile da usare, per esplorare

Dettagli

Guida all Utilizzo del Posto Operatore su PC

Guida all Utilizzo del Posto Operatore su PC Guida all Utilizzo del Posto Operatore su PC 1 Introduzione Indice Accesso all applicazione 3 Installazione di Vodafone Applicazione Centralino 3 Utilizzo dell Applicazione Centralino con accessi ad internet

Dettagli

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC BMSO1001 Virtual Configurator Istruzioni d uso 02/10-01 PC 2 Virtual Configurator Istruzioni d uso Indice 1. Requisiti Hardware e Software 4 1.1 Requisiti Hardware 4 1.2 Requisiti Software 4 2. Concetti

Dettagli

Biblioteca di Cervia NOZIONI BASE DI INFORMATICA

Biblioteca di Cervia NOZIONI BASE DI INFORMATICA Biblioteca di Cervia NOZIONI BASE DI INFORMATICA NOZIONI DI INFORMATICA Il PC è composto solitamente di tre parti principali: - Il Case, ovvero il contenitore del cuore del computer, da qui si accende

Dettagli

U N I V E R S I T À D E G L I S T U D I D I S A L E R N O

U N I V E R S I T À D E G L I S T U D I D I S A L E R N O U N I V E R S I T À D E G L I S T U D I D I S A L E R N O Guida rapida per l utilizzo del servizio HDA - Web Versione 1.0 Giugno 2004 SOMMARIO 1 Introduzione... 2 1.1 Scopo... 2 2 Modalità di inoltro di

Dettagli

Iniziamo ad utilizzare LiveBox ITALIANO. http://www.liveboxcloud.com

Iniziamo ad utilizzare LiveBox ITALIANO. http://www.liveboxcloud.com 2014 Iniziamo ad utilizzare LiveBox ITALIANO http://www.liveboxcloud.com LiveBox Srl non rilascia dichiarazioni o garanzie in merito al contenuto o uso di questa documentazione e declina qualsiasi garanzia

Dettagli

PowerPoint 2007 Le funzioni

PowerPoint 2007 Le funzioni PowerPoint 2007 Le funzioni Introduzione Cos è un ipertesto L' ipertesto è un testo organizzato in link, o collegamenti ad altre parti del testo e/o altri testi, in modo da consentire all utente di scegliere

Dettagli

Gestione dell account AdWords di Google Guida pratica

Gestione dell account AdWords di Google Guida pratica Gestione dell account AdWords di Google Guida pratica Benvenuti in AdWords di Google Questa guida fornisce una panoramica del Centro di controllo gestionale AdWords, l interfaccia per la gestione e il

Dettagli

Integrazione InfiniteCRM - MailUp

Integrazione InfiniteCRM - MailUp Integrazione InfiniteCRM - MailUp La funzionalità della gestione delle campagne marketing di icrm è stata arricchita con la spedizione di email attraverso l integrazione con la piattaforma MailUp. Creando

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44

filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44 filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44 Sommario Introduzione... 4 Caratteristiche del filrbox... 5 La barra principale del filrbox... 7 Elenco degli utenti... 8 Il profilo... 9 Le novità...

Dettagli

GateManager. 1 Indice. tecnico@gate-manager.it

GateManager. 1 Indice. tecnico@gate-manager.it 1 Indice 1 Indice... 1 2 Introduzione... 2 3 Cosa vi serve per cominciare... 2 4 La Console di amministrazione... 2 5 Avviare la Console di amministrazione... 3 6 Come connettersi alla Console... 3 7 Creare

Dettagli

Guida all uso. Esso sarà riportato nell intestazione. Vediamo:

Guida all uso. Esso sarà riportato nell intestazione. Vediamo: faxm@il è un applicazione che permette agli utenti dei sistemi di telefonia IP di inviare, ricevere e gestire fax. Il tradizionale sistema di fax è ormai superato. Con faxm@il non riceviamo né spediamo

Dettagli

Panoramica: che cosa è necessario

Panoramica: che cosa è necessario Scheda 02 L installazione dell SDK G IOVANNI PULITI Panoramica: che cosa è necessario Per poter lavorare con applicazioni Java o crearne di nuove, il programmatore deve disporre di un ambiente di sviluppo

Dettagli

Basi Android. Android si definisce open. Con8ene tecnologie open source. Il codice di Android è open. Licenza Open Source Apache 2.

Basi Android. Android si definisce open. Con8ene tecnologie open source. Il codice di Android è open. Licenza Open Source Apache 2. Basi Android 1 Android Cosa è Android? Android è un insieme di strumen8 e librerie per sviluppare applicazioni mobili è più di un SO Android si definisce open Con8ene tecnologie open source Linux Il codice

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

GUIDA DI INSTALLAZIONE E PRIMA CONFIGURAZIONE DI EDILCONNECT PER I CONSULENTI

GUIDA DI INSTALLAZIONE E PRIMA CONFIGURAZIONE DI EDILCONNECT PER I CONSULENTI 1 GUIDA DI INSTALLAZIONE E PRIMA CONFIGURAZIONE DI EDILCONNECT PER I CONSULENTI Introduzione Dal 24 ottobre è possibile per i consulenti effettuare l installazione e la configurazione del nuovo applicativo

Dettagli

La VPN con il FRITZ!Box - parte II. La VPN con il FRITZ!Box Parte II

La VPN con il FRITZ!Box - parte II. La VPN con il FRITZ!Box Parte II La VPN con il FRITZ!Box Parte II 1 Descrizione Come già descritto nella parte I della mini guida, Una VPN, Virtual Private Network, consiste in una sorta di tunnel in grado di collegare tra loro due o

Dettagli

Collegamento remoto vending machines by do-dots

Collegamento remoto vending machines by do-dots Collegamento remoto vending machines by do-dots Ultimo aggiornamento 23 marzo 2011 rev1 - Stesura iniziale 18/10/2010 rev2 - Approfondimenti 12/11/2010 rev3 Riduzione dei contenuti per una lettura generica

Dettagli

Software di interfacciamento sistemi gestionali Manuale di installazione, configurazione ed utilizzo

Software di interfacciamento sistemi gestionali Manuale di installazione, configurazione ed utilizzo 01595 Software di interfacciamento sistemi gestionali Manuale di installazione, configurazione ed utilizzo INDICE DESCRIZIONE DEL SOFTWARE DI INTERFACCIAMENTO CON I SISTEMI GESTIONALI (ART. 01595) 2 Le

Dettagli

Invio SMS. DM Board ICS Invio SMS

Invio SMS. DM Board ICS Invio SMS Invio SMS In questo programma proveremo ad inviare un SMS ad ogni pressione di uno dei 2 tasti della DM Board ICS. Per prima cosa creiamo un nuovo progetto premendo sul pulsante (Create new project): dove

Dettagli

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte. I TUTORI Indice Del Manuale 1 - Introduzione al Manuale Operativo 2 - Area Tutore o Area Studente? 3 - Come creare tutti insieme i Tutori per ogni alunno? 3.1 - Come creare il secondo tutore per ogni alunno?

Dettagli

Guida Utente PS Contact Manager GUIDA UTENTE

Guida Utente PS Contact Manager GUIDA UTENTE GUIDA UTENTE Installazione...2 Prima esecuzione...5 Login...7 Registrazione del programma...8 Inserimento clienti...9 Gestione contatti...11 Agenti...15 Archivi di base...16 Installazione in rete...16

Dettagli

PRODUZIONE PAGELLE IN FORMATO PDF

PRODUZIONE PAGELLE IN FORMATO PDF Requisiti minimi: PRODUZIONE, FIRMA E PUBBLICAZIONE DELLA PAGELLA ELETTRONICA CON ALUNNI WINDOWS PRODUZIONE PAGELLE IN FORMATO PDF Argo Alunni Windows aggiornato alla versione più recente. Adobe PDF CREATOR,

Dettagli

Introduzione. Installare EMAS Logo Generator

Introduzione. Installare EMAS Logo Generator EMAS Logo Generator Indice Introduzione... 3 Installare EMAS Logo Generator... 3 Disinstallare EMAS Logo Generator... 4 Schermata iniziale... 5 Creare il Logo... 7 Impostazioni... 7 Colore...8 Lingua del

Dettagli

NAVIGAORA HOTSPOT. Manuale utente per la configurazione

NAVIGAORA HOTSPOT. Manuale utente per la configurazione NAVIGAORA HOTSPOT Manuale utente per la configurazione NAVIGAORA Hotspot è l innovativo servizio che offre ai suoi clienti accesso ad Internet gratuito, in modo semplice e veloce, grazie al collegamento

Dettagli

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti 20120300 INDICE 1. Introduzione... 3 2. Consultazione... 4 2.1 Consultazione Server Fidati... 4 2.2 Consultazione Servizi Client... 5 2.3 Consultazione Stato richieste... 5 3. Amministrazione... 6 3.1

Dettagli