160 resultados para server java android logica
em AMS Tesi di Laurea - Alm@DL - Università di Bologna
Resumo:
Questo elaborato di tesi illustra la realizzazione del back-end di LogicPlayer, un'app Android per la didattica della Deduzione Naturale
Resumo:
All'interno del presente elaborato vengono illustrate le scelte progettuali e l'implementazione del frontend dell'applicazione "LogicPlayer", un'App didattica per la risoluzione di alberi di Deduzione Naturale realizzata per sistemi Android
Resumo:
Questo elaborato ha come argomento lo sviluppo di un progetto informatico creato per mettere in comunicazione tra di loro un sistema di gestione e controllo del ricambio di acqua in una piscina e un dispositivo mobile. Per la realizzazione del sistema di controllo è stata utilizzata una scheda Arduino Mega 2560 munita di modulo Ethernet, mentre, per quello che concerne il dispositivo mobile, la scelta è ricaduta su un device dotato di sistema operativo Android. La comunicazione tra questi due attori è mediata attraverso un server scritto in Java che gira nella stessa rete locale in cui è presente la scheda Arduino. Il progetto può essere inserito nell'ambito dell'Internet of Things, dove ogni oggetto è caratterizzato dalla possibilità di connettersi ad Internet e scambiare informazioni con ogni altro oggetto creando una rete. Questo progetto è suddiviso in tre parti: la prima si occupa della definizione di due protocolli di comunicazione tra le varie componenti, uno per lo scambio di messaggi tra client Android e Server Java e un secondo per quello tra scheda Arduino e Server; la seconda parte è incentrata sulla realizzazione del server Java che rende accessibile la scheda da qualsiasi luogo e permette la raccolta dei dati rilevanti provenienti dalla centralina. L’ultima parte infine è quella relativa allo sviluppo di una applicazione per Android che permette di monitorare il tutto e interagire con la centralina stessa.
Resumo:
In questo lavoro di tesi abbiamo ideato e implementato un nuovo social network combinando in una sola applicazione per dispositivi mobili alcune nuove idee con altre già esistenti, ma ancora poco sviluppate. Dopo aver analizzato le app attualmente esistenti, si sono definite le caratteristiche dell'applicazione che si vuole creare, traendo ispirazione da Snapchat, Foursquare e Whisper. L'obiettivo è un'applicazione che permette agli utenti di inviare messaggi con testo e immagini geotaggati sulla loro posizione. Essi saranno anonimi, dato che gli utenti avranno la possibilità di creare e utilizzare facilmente più identità. I messaggi potranno essere votati e commentati e avranno una durata definita dall'autore, dopo di che si autodistruggeranno. Tutti i messaggi saranno visibili su una mappa che li mostrerà nel punto in cui l'autore si trovava quando li ha inviati. Gli utenti riceveranno una notifica per i nuovi messaggi inviati nelle loro vicinanze. I primi mesi di lavoro sul progetto sono stati dedicati al perfezionamento dell'idea originale e alla realizzazione della parte server. In questa fase è stato acquisito e configurato un Virtual Private Server, è stato progettato e creato il database MySql, ed è stata implementata la logica applicativa lato server in PHP. Successivamente, ci si è concentrati sulla progettazione e realizzazione dell'applicazione stessa, scegliendo la piattaforma Android e programmando in linguaggio Java. In questa fase si è definita e implementata l'interfaccia utente e la logica applicativa lato client. Giunti ad un buon livello di sviluppo, si è cominciato a distribuire limitatamente una versione alpha dell'applicazione per ottenere feedback dagli utenti, soprattutto riguardanti l'usabilità. La seguente tesi descrive in dettaglio l'idea di partenza, l'architettura del progetto e le funzionalità realizzate, per concludersi con una previsione degli sviluppi futuri. Vi è inoltre in allegato il codice sorgente dell'applicazione Android realizzata.
Resumo:
TuCSoN (Tuple Centres Spread over the Network) è un modello di coordinazione per processi distribuiti o agenti autonomi. Il modello di TuCSoN viene implementato come un middleware distribuito Java-based, distribuito Open Source sotto la licenza LGPL tramite Googlecode. Il fatto che lo stesso sia Open Source e Java-based ha reso possibile il suo porting su Android, rendendo il noto sistema operativo di Google un possibile agente partecipante ad un sistema TuCSoN. La tesi descrive il percorso che ha portato dallo studio dell'infrastruttura TuCSoN e del sistema Android alla realizzazione dell'applicazione Android, rendendo possibile a qualsiasi dispositivo Android di partecipare ad un sistema TuCSoN. Nel particolare l'obiettivo finale dell'applicazione Android, e di questa tesi, è rendere lo smartphone un nodo TuCSoN funzionante. La tesi non si pone l'obiettivo di analizzare ed esplorare le funzionalità e le possibilitàa delle due tecnologie principali trattate (Android e TuCSoN) nel loro singolo, quanto quello di esplorare le criticità che un porting di questo tipo comporta, quali ad esempio le differenze intrinseche fra la JVM e la DalvikVM e come aggirarle, o le funzionalità di Android e come utilizzarle allo scopo di realizzare un applicazione che funga da server ad una infra- struttura distribuita, oppure le differenze a livello di gestione della GUI fra Android e plain-java, e di analizzare le soluzioni trovate per risolvere (o dove non era possibile risolvere evitare) tali problemi al fine del raggiungimento dell'obiettivo che ci si era prefissati.
Resumo:
Nella maggior parte dei casi, i soggetti affetti da Disturbo dello Spettro Autistico hanno un deficit di comunicazione, sia esso verbale o non verbale. Nonostante, ad oggi, non esista una cura per questo disturbo, una diagnosi precoce entro il terzo anno di vita del soggetto e un programma educativo coerente con le necessità del paziente, permettono al bambino con autismo di raggiungere quantomeno le abilità comunicative di base. Recenti studi hanno dimostrato che l’utilizzo di Information and Communication Technology (ICT) nel trattamento di soggetti affetti da Disturbo dello Spettro Autistico può portare molti benefici, dato che, da un lato, computer, tablet e smartphone sono strumenti strutturati e prevedibili e, dall’altro, i sintetizzatori vocali, se presenti, sono privi di inflessioni verbali. A questo proposito, durante il mio tirocinio di tesi magistrale presso l’azienda “CSP – Innovazioni nelle ICT” di Torino, ho sviluppato un’applicazione per tablet Android che permette a psicologi, educatori, logopedisti, insegnanti e genitori di creare tabelle comunicative circostanziate alle esigenze del soggetto e che consente a quest’ultimo di utilizzare questo strumento come efficace mediatore sociale. Questo software si va a inserire in un progetto più ampio, denominato “tools4Autism”, nato dalla collaborazione tra il centro di ricerca di cui sopra, la “Fondazione ASPHI Onlus – ICT per migliorare la qualità di vita delle persone con disabilità” e il “Centro Autismo e Sindrome di Asperger” di Mondovì (CN). L’applicazione prevede principalmente due metodi di utilizzo: il primo, definito “modalità operatore”, è un editor che permette di creare tabelle composte da un numero variabile di immagini che possono essere pittogrammi, fotografie personali, disegni del bambino e possono essere accompagnate o meno da un testo. Una volta create le tabelle, l’operatore ha la possibilità di modificarle, eliminarle, variarne l’ordine, esportarle su altri dispositivi o importare tabelle precedentemente create. Il secondo metodo di utilizzo, definito “modalità utente”, permette al soggetto affetto da Disturbo Autistico di comunicare con altre persone sfruttando le tabelle create dall’operatore coerentemente con le sue necessità. Al tocco dell’immagine da parte del bambino, essa viene evidenziata tramite un contorno rosso e, se abilitato, il sintetizzatore vocale riproduce il testo associato a tale immagine. I principali fattori di innovazione dell’applicazione sono la gratuità, la semplicità di utilizzo, la rapidità nella creazione e nell’aggiornamento delle tabelle comunicative, la portabilità dello strumento e l’utilizzo della sintesi vocale. Il software sarà sperimentato presso il “Centro Autismo e Sindrome di Asperger”, centro di neuropsichiatria infantile specializzato nello studio del Disturbo Autistico. Tale sperimentazione si pone come obiettivo quello di verificare gli effettivi miglioramenti nella velocità e nella qualità di apprendimento delle fondamentali abilità comunicative.
Resumo:
Nello sviluppo di sistemi informatici si sono affermate numerose tecnologie, che vanno utilizzate in modo combinato e, possibilmente sinergico. Da una parte, i sistemi di gestione di basi di dati relazionali consentono una gestione efficiente ed efficace di dati persistenti, condivisi e transazionali. Dall'altra, gli strumenti e i metodi orientati agli oggetti (linguaggi di programmazione, ma anche metodologie di analisi e progettazione) consentono uno sviluppo efficace della logica applicativa delle applicazioni. E’ utile in questo contesto spiegare che cosa s'intende per sistema informativo e sistema informatico. Sistema informativo: L'insieme di persone, risorse tecnologiche, procedure aziendali il cui compito è quello di produrre e conservare le informazioni che servono per operare nell'impresa e gestirla. Sistema informatico: L'insieme degli strumenti informatici utilizzati per il trattamento automatico delle informazioni, al fine di agevolare le funzioni del sistema informativo. Ovvero, il sistema informatico raccoglie, elabora, archivia, scambia informazione mediante l'uso delle tecnologie proprie dell'Informazione e della Comunicazione (ICT): calcolatori, periferiche, mezzi di comunicazione, programmi. Il sistema informatico è quindi un componente del sistema informativo. Le informazioni ottenute dall'elaborazione dei dati devono essere salvate da qualche parte, in modo tale da durare nel tempo dopo l'elaborazione. Per realizzare questo scopo viene in aiuto l'informatica. I dati sono materiale informativo grezzo, non (ancora) elaborato da chi lo riceve, e possono essere scoperti, ricercati, raccolti e prodotti. Sono la materia prima che abbiamo a disposizione o produciamo per costruire i nostri processi comunicativi. L'insieme dei dati è il tesoro di un'azienda e ne rappresenta la storia evolutiva. All'inizio di questa introduzione è stato accennato che nello sviluppo dei sistemi informatici si sono affermate diverse tecnologie e che, in particolare, l'uso di sistemi di gestione di basi di dati relazionali comporta una gestione efficace ed efficiente di dati persistenti. Per persistenza di dati in informatica si intende la caratteristica dei dati di sopravvivere all'esecuzione del programma che li ha creati. Se non fosse cosi, i dati verrebbero salvati solo in memoria RAM e sarebbero persi allo spegnimento del computer. Nella programmazione informatica, per persistenza si intende la possibilità di far sopravvivere strutture dati all'esecuzione di un programma singolo. Occorre il salvataggio in un dispositivo di memorizzazione non volatile, come per esempio su un file system o su un database. In questa tesi si è sviluppato un sistema che è in grado di gestire una base di dati gerarchica o relazionale consentendo l'importazione di dati descritti da una grammatica DTD. Nel capitolo 1 si vedranno più in dettaglio cosa di intende per Sistema Informativo, modello client-server e sicurezza dei dati. Nel capitolo 2 parleremo del linguaggio di programmazione Java, dei database e dei file XML. Nel capitolo 3 descriveremo un linguaggio di analisi e modellazione UML con esplicito riferimento al progetto sviluppato. Nel capitolo 4 descriveremo il progetto che è stato implementato e le tecnologie e tools utilizzati.
Resumo:
La crittografia ha sempre rivestito un ruolo primario nella storia del genere umano, dagli albori ai giorni nostri, e il periodo in cui viviamo non fa certo eccezione. Al giorno d'oggi, molti dei gesti che vengono compiuti anche solo come abitudine (operazioni bancarie, apertura automatica dell'auto, accedere a Facebook, ecc.), celano al loro interno la costante presenza di sofisticati sistemi crittografici. Proprio a causa di questo fatto, è importante che gli algoritmi utilizzati siano in qualche modo certificati come ragionevolmente sicuri e che la ricerca in questo campo proceda costantemente, sia dal punto di vista dei possibili nuovi exploit per forzare gli algoritmi usati, sia introducendo nuovi e sempre più complessi sistemi di sicurezza. In questa tesi viene proposto una possibile implementazione di un particolare tipo di attacco crittoanalitico, introdotto nel 2000 da due ricercatori dell'Università "La Sapienza" di Roma, e conosciuto come "Crittoanalisi Logica". L'algoritmo su cui è incentrato il lavoro è il Data Encryption Standard (DES), ostico standard crittografico caduto in disuso nel 1999 a causa delle dimensioni ridotte della chiave, seppur tuttora sia algebricamente inviolato. Il testo è strutturato nel seguente modo: il primo capitolo è dedicato ad una breve descrizione di DES e della sua storia, introducendo i concetti fondamentali con cui si avrà a che fare per l'intera dissertazione Nel secondo capitolo viene introdotta la Crittoanalisi Logica e viene fornita una definizione della stessa, accennando ai concetti matematici necessari alla comprensione dei capitoli seguenti. Nel capitolo 3 viene presentato il primo dei due software sviluppati per rendere possibile l'attuazione di questo attacco crittoanalitico, una libreria per la rappresentazione e la manipolazione di formule logiche scritta in Java. Il quarto ed ultimo capitolo descrive il programma che, utilizzando la libreria descritta nel capitolo 3, elabora in maniera automatica un insieme di proposizioni logiche semanticamente equivalenti a DES, la cui verifica di soddisfacibilità, effettuata tramite appositi tools (SAT solvers) equivale ad effettuare un attacco di tipo known-plaintext su tale algoritmo.
Resumo:
Studio e progettazione di un'applicazione di tipo interfaccia home su Android.
Resumo:
L'obiettivo di questo lavoro è effettuare un'analisi del modello di programmazione proposto da Android. L'attenzione verrà posta, in particolare, su quali meccanismi vengano forniti per la gestione di eventi asincroni generati dal sistema, allo scopo di notificare cambiamenti del contesto in cui si sta operando: dal modo in cui vengono intercettati, a come risulta possibile modificare il comportamento dell'applicazione, in reazione alle nuove informazioni acquisite. Si valuteranno gli elementi di novità introdotti nelle API di Android, in relazione ai classici mezzi disponibili nella programmazione standard in Java, atti a risolvere una nuova categoria di problematiche dovute alla natura context-aware delle applicazioni. Sarà effettuata anche un'analisi più generale della qualità del modello proposto, in termini di estensibilità e modularità del codice; per fare ciò, si prenderà in esame l'applicazione SMS Backup+ come caso di studio e si proporranno delle possibili estensioni per verificarne la fattibilità.
Resumo:
Tesi di laurea volta a descrivere la realizzazione di un sistema che permette la condivisione dei dati dai sensori dei dispositivi android su un server centrale
Resumo:
L'obiettivo di questa tesi è stato quello di implementare un applicazione client-server per dispositivi Android basato sul paradigma del crowdsourcing. Il focus è stato rivolto sulla ricerca di un modo che consentisse all'utente di notificare degli eventi stradali senza distrarlo dalla guida, consentendogli di interagire vocalmente con il dispositivo per la segnalazione di differenti notifiche. Viene implementa un sistema di rilevazione delle velocità delle strade tramite l'invio di dati anonimi da parte degli utenti, che si integra con il sistema di notifica, consentendo una migliore rappresentazione della viabilità stradale. Inoltre è stato implementato anche un navigatore satellitare con tecnologia turn-by-turn da cui gli utenti possono effettuare itinerari, configurandosi, in ultima analisi, come una strumento in grado di supportare gli automobilisti da più punti di vista.
Resumo:
L’obiettivo di questa tesi è quello di estendere l’interfaccia grafica di tuProlog nella versione per Android, il più diffuso sistema operativo per tablet e smartphone. TuProlog è un’ interprete Prolog interamente scritto in java, leggero e open–source. L’applicazione è disponibile sotto forma di archivio JAR eseguibile e può essere utilizzato tramite un’interfaccia a riga di comando, nella versione Java, o per mezzo di interfacce grafiche negli ambienti Java, .NET e Android. La versione per Android supporta pienamente Java e la maggior parte delle librerie dell’applicativo per JVM. Lo sviluppo di applicazioni per dispositivi mobile, però, limita lo sviluppatore in termini di complessità delle elaborazioni effettuabili dal programma e comprensibilità dell’interfaccia grafica; per questi e altri motivi, la struttura dell’applicativo in versione Android, fatta eccezione per il core Prolog, è diversa dalle versioni per altri ambienti. L’applicazione, giunta ora alla versione 2.7.2, manca della possibilità di input da console in tutte le versioni ad interfaccia grafica. Scopo di questa tesi è quindi integrare tale funzionalità, inserendola all’interno del contesto applicativo senza modificare il normale flusso delle operazioni, intervenendo in modo mirato, il meno invasivo possibile e garantendo l’espandibilità della modifica ad estensioni future.
Resumo:
NinjaTyping è un cosiddetto "Typing Game", sviluppato per terminali Android. L'utente deve scrivere il testo visualizzato su schermo, nel minor tempo e con la minor incidenza possibile d'errore. I punteggi effettuati dagli utenti, possono essere condivisi su Facebook oltre che su un apposito server dedicato, atto a gestire i migliori punteggi. Inoltre è prevista anche una modalità online in cui gli utenti possono sfidarsi in partite a turni. Anche questa feature è gestita tramite il server dedicato.
Resumo:
Sviluppo di un'applicazione Android che effettua scansioni di reti Wi-Fi in una determinata area al fine di mappare tutti gli Access Point rilevabili.