Lezione 19 Blackberry. Dr. Paolo Casoto, Ph.D - 2012

Documenti analoghi
Il web server Apache Lezione n. 3. Introduzione

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

CREA IL CATALOGO DEI TUOI PRODOTTI SU IPAD E IPHONE CON UN APP. ANZI, CON UPP!

Manuale LiveBox WEB ADMIN.

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

Utilizzo della APP IrriframeVoice. Versione 1.0 maggio 2015

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

FileMaker Pro 13. Utilizzo di una Connessione Desktop Remota con FileMaker Pro13

iproject Gestione e Controllo Costi Cantiere iproject

Base di dati e sistemi informativi

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it

Il progetto Insieme a Scuola di Internet

Manuale LiveBox WEB ADMIN.

Aggiornamenti Sistema Addendum per l utente

Collegamento remoto vending machines by do-dots

Iniziamo ad utilizzare LiveBox ITALIANO.

App Mobile ios. In tutta mobilità... ovunque voi siate!

Crea il catalogo dei tuoi prodotti su ipad e iphone con un App. Anzi, con upp!

IP CONTROLLER IPC-3008/ IPC-3108 IPC-3002 / IPC-3102

Software di gestione della stampante

Client - Server. Client Web: il BROWSER

L APP PER IPHONE E ANDROID

Vodafone Device Manager. La soluzione Vodafone per gestire Smartphone e Tablet aziendali in modo semplice e sicuro

RT VIRTUAL CARD. Manuale Utente

Sviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D

Trasforma il tuo locale nell ambiente ideale per i tuoi clienti, in cui potranno incontrarsi e socializzare.

ESPLORARE IL MONTE CUCCO CON SMARTPHONE E TABLET: QRPLACES E LA REALTÀ AUMENTATA

G l o b a l C o n n e c t i o n S i s t e m a d i t e l e c o n t r o l l o G S M / G P R S

1 Introduzione Installazione Configurazione di Outlook Impostazioni manuali del server... 10

Euro09 Evolution R

Guida per l utente di PrintMe Mobile 3.0

GRUPPO TELECOM ITALIA. APP Mercato Interforze

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

1. I REQUISITI DI ATTIVAZIONE

1) GESTIONE DELLE POSTAZIONI REMOTE

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

Un applicazione client per la localizzazione via Bluetooth e Wi-Fi di dispositivi Smartphone Anno Accademico 2005/2006

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Lo strumento di presentazione più innovativo per creare riunioni collaborative!!

GUIDA UTENTE PRIMA NOTA SEMPLICE

CTVClient. Dopo aver inserito correttamente i dati, verrà visualizzata la schermata del tabellone con i giorni e le ore.

Distribuzione internet in alberghi, internet cafè o aziende che vogliono creare una rete "ospite"

Manuale d'uso del Connection Manager

Sophos Mobile Control Guida utenti per Windows Mobile. Versione prodotto: 3.6

Corso basi di dati Installazione e gestione di PWS

Programmazione concorrente in Java. Dr. Paolo Casoto, Ph.D

Desktop Video Conference

Iniziamo ad utilizzare LiveBox ITALIANO.

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

G l o b a l M o b i l e S i s t e m a d i t e l e c o n t r o l l o G P S s u G S M / G P R S

VIDEO COMUNICAZIONE VIA WEB: LA NOSTRA SOLUZIONE PER LEZIONI IN AULA VIRTUALE, SEMINARI E RIUNIONI A DISTANZA

PROTOS GESTIONE DELLA CORRISPONDENZA AZIENDALE IN AMBIENTE INTRANET. Open System s.r.l.

Hardware delle reti LAN

INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Windows 8 Pro: per le piccole imprese

Guida al servizio wireless dell'univda

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

I cookie sono classificati in base alla durata e al sito che li ha impostati.

ISTRUZIONI OPERATIVE AGGIORNAMENTO DEL 18/04/2013

RICEZIONE AUTOMATICA DEI CERTIFICATI DI MALATTIA 1.1. MALATTIE GESTIONE IMPORT AUTOMATICO 1.2. ATTIVAZIONE DELLA RICEZIONE DEL FILE CON L INPS

Sophos Mobile Control Guida utenti per Windows Phone 8. Versione prodotto: 3.5

Registratori di Cassa

What s App? S A L E S F O R C E A U T O M A T I O N

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

ICARO Terminal Server per Aprile

Scheda di Notifica Manuale d'uso

LA MOBILITÀ A PORTATA DI MANO QUALCHE TOCCO SUL VOSTRO DISPOSITIVO MOBILE È TUTTO QUELLO CHE SERVE PER EFFETTUARE STAMPE E SCANSIONI SULLA STAMPANTE

IL SISTEMA SMART RESPONSE

Careggi Smart Hospital nuovo servizio #Prelievo Amico

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

DESKTOP. Uso del sistema operativo Windows XP e gestione dei file. Vediamo in dettaglio queste parti.

Istruzioni operative riservate ai Clienti titolari del nuovo internet banking

La Soluzione per CdA e Top Management. La soluzione è Secure Board by Boole Server

UN APP FLESSIBILE E INTUITIVA PER GESTIRE I TUOI AFFARI IN TUTTA COMODITÀ

Istruzioni di configurazione Wi-Fi per inverter Solar River TL-D

GUIDA UTENTE BILLIARDS COUNTER (Vers )

Fatti Raggiungere dal tuo Computer!!

Metti il GPS sul cellulare Nokia

Comune di Albenga #ImpresaComune

IRSplit. Istruzioni d uso 07/10-01 PC

IBM SPSS Statistics per Mac OS - Istruzioni di installazione (Licenza per sito)

Il tuo Studio... ovunque! Portale Studio, Portale Cliente, ServerSync, iphone Edition

Tecnologia.

SendMedMalattia v Manuale d uso

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

Guida all uso delle Web View su ios

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati

19. LA PROGRAMMAZIONE LATO SERVER

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Gestione documentale. Arxivar datasheet del Pag. 1

Studio Prof. Versione 2

DINAMIC: gestione assistenza tecnica

INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

WebGis - Piano Comprensoriale di Protezione Civile

Mon Ami 3000 MACommerce La soluzione per il commercio elettronico totalmente integrata con Mon Ami 3000

Manuale LiveBox APPLICAZIONE ANDROID.

MyPostman. Progetto di messaggistica istantanea Invio messaggi ai tuoi contatti attraverso Google Cloud Messaging

CARJAVA. Il software per gestire l accettazione. Da Tablet o Smartphone. Archivia i dati su PC e crea le commesse direttamente nel gestionale

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Transcript:

+ Lezione 19 Blackberry

+ Credits I lucidi di questa lezione sono stati redatti dal Dr. Paolo Casoto nel 2012. Sono rilasciati con licenza Creative Commons Attribuzione, non commerciale e non opere derivate.

+ La piattaforma BlackBerry La piattaforma BlackBerry utilizza Java, fin dalla versione 4, come linguaggio unico per lo sviluppo di applicazioni. Andando a rimpiazzare il precedente sistema operativo in C++ Non è possibile scrivere una applicazione che non sia scritta in Java Tutto il codice in esecuzione sul BlackBerry è interpretato e gestito dal Garbage Collector. Multitasking fornito nativamente dal sistema operativo Applicazioni che possono richiedere molteplici risorse anche in background, sia in termini di RAM sia in termini di CPU Accesso al dispositivo mediante tastiera o schermo touch Da considerare con cura, la tastiera è ancora un MUST nel mondo BlackBerry

+ Come programmare in BB Linguaggio: J2ME. Già lo conosciamo molto bene!!! Ambiente di sviluppo: solo in ambiente Windows. E possibile scaricare gratuitamente dal sito BB, solo previa registrazione, tutti i simulatori dei dispositivi BB e l ambiente di sviluppo basato sulla piattaforma Eclipse. https://bdsc.webapps.blackberry.com/java/download/eclipse Sono disponibili anche strumenti per la simulazione dell eventuale piattaforma di amministrazione e gestione dei dispositivi BB (BlackBerry Enterprise Service) Documentazione: https://bdsc.webapps.blackberry.com/java/

+ Attenzione ai tablet Queste slide trattano ESCLUSIVAMENTE la programmazione BB in ambito smartphone e non il caso dei tablet BB. E questi come si programmano? In diversi modi: CSS + HMTL5 Adobe Air C / C++ SDK 2.0 Android Cosa??? Android Si, proprio così, il BB PlayBook è in grado di eseguire codice Android 2.3.3 opportunamente ricompilato Ma a che pro?

+ Il ciclo di vita di una applicazione BlackBerry Tutte le applicazioni BlackBerry che visualizzano elementi grafici devono estendere la classe astratta UiApplication E possibile creare una sola istanza di ciascuna applicazione. In generale l applicazione deve essere creata all interno del metodo statico main della classe principale della nostra applicazione. La piattaforma BlackBerry non avvia automaticamente il thread di gestione dell interfaccia grafica e degli eventi. E necessario avviare manualmente il thread di gestione degli eventi mediante il metodo UiApplication.enterEventDispatcher Ma quali eventi: touch, tastiera, trackball, messaggi di sistema ed interazione con altri servizi

+ Il ciclo di vita di una applicazione BlackBerry Le applicazioni BlackBerry consentono ad un unico thread di interagire con l interfaccia grafica. Eventi di lunga durata sono bloccanti per l interfaccia Non è possibile per un thread parallelo modificare gli elementi dell interfaccia grafica senza sollevare una eccezione. In modo analogo a molti altri linguaggi (e.g.: Objective C su ios o C#) è possibile per un thread secondario invocare una attività da svolgere all interno del thread principale Mediante l invocazione dei metodi InvokeLater ed InvokeAndWait che ricevono come argomento un oggetto Runnable che determina il contenuto della operazione da eseguire.

+ Applicazioni in background BlackBerry consente l esecuzione di applicazioni in background, ad esempio i servizi, anche se la loro interfaccia grafica non è visualizzata. E possibile gestire il passaggio di stato da esecuzione foregroud ad esecuzione background. Utilizzo del metodo UiApplication.getUiApplication().requestBackground(); E possibile implementare, in questo modo, applicazioni in grado di gestire servizi e dati anche ove non visualizzate direttamente.

+ Breve accenno alle componenti grafiche nel mondo BB 3 tipologie di componenti grafiche: Field: elementi basilari dell interfaccia utilizzati per la gestione dell interazione con l utente E.g.: campi di testo, pulsanti Manager: layout applicati agli elementi grafici, al fine di modificarne il posizionamento all interno dello schermo. Screen: rappresentano le finestre all interno delle quali sono collocati i field mediante i rispettivi manager. E possibile visualizzare un solo screen alla volta. Gli screen sono responsabili della gestione degli eventi associati ai singoli field. Ma come gestiamo gli eventi? Ovviamente implementando una opportuna serie di listener.

+ Memorizzazione dei dati La piattaforma BB consente 4 tipi diversi di meccanismi di persistenza: RecordStore MIDP: già li conosciamo molto bene JSR 75 accesso al filesystem: anche questa API la conosciamo molto bene, è un elemento che abbiamo visto in J2ME BlackBerry Persistent Store: strumento per la persistenza basata sulla memorizzazione del grafo degli oggetti dell applicativo, molto più potente rispetto all accesso con RecordStore. Non SQL-like SQL Lite: dalla versione 5.0 del BlackBerry OS è possibile includere all interno delle proprie applicazioni una versione del db SQL Lite, per realizzare veri e propri database relazionali.

+ Memorizzazione dei dati E sconsigliato utilizzare RecordStore su BlackBerry, salvo per motivi di retrocompatibilità con applicazioni MIDP legacy. Meglio optare per il Persistent Store di sistema, che consente una gestione di più alto livello degli oggetti da serializzare. Il Persistent Store memorizza i dati esclusivamente all interno della memoria Flash del telefono Non è in grado di garantire la persistenza dei dati su scheda SD esterna al dispositivo Valutate con cautela nel caso in cui il salvataggio dei dati della vostra applicazione renda necessario optare per una soluzione basata su JSR 75 E.g.: salvataggio di immagini, memorizzazione di file audio.

+ PeristentStore Ciascun PersistentStore è caratterizzato da una chiave univoca all interno del dispositivo. Non preoccupatevi di andare a coincidere con altre chiavi utilizzate dalle applicazioni di sistema o dalle altre applicazioni utente. Fatevela generare in modo casuale da Eclipse. In generale un PersistentStore può essere visto come una tabella di hash caratterizzata da una serie di coppie <chiave,valore> PersistentObject persistentobject = PersistentStore.getPersistentObject(0x1111111111L); Metodo statico di accesso cosa vi ricorda?

+ PeristentStore Ma quali oggetti possono essere memorizzati all interno del PersistentStore? Tutti gli oggetti che implementano l interfaccia Persistable Del tutto analogo all interfaccia Serializable che abbiamo visto nel caso di J2SE e che è assente all interno del profilo J2ME MIDP Vi ricordate la serializzazione tramite array di byte della classe Studente? Anche nel caso degli oggetti da persistere all interno del PersistentStore, la necessità di implementare Persistable si estende a tutti gli oggetti del grafo delle referenze che deve essere persistito. I tipi base implementano, in BB, tale interfaccia.

+ JSR 75: accesso al filesystem L utilizzo delle API JSR 75 è del tutto analogo a quanto abbiamo visto nel caso di J2ME Utilizzo di Connector.open e del downcasting a FileConnection Possiamo accedere al filesystem del dispositivo (ed alle eventuali schede SD esterne) a patto di disporre dei relativi permessi. Posso utilizzare, una volta ottenuta una istanza di FileConnection, tutti i metodi che abbiamo già visto nel caso J2ME per la navigazione del filesystem e per la sua gestione.

+ Accedere alla rete Il BB nasce come piattaforma prettamente dedicata al networking, in particolare all invio ed alla ricezione di email. La connettività è uno degli elementi peculiari di BB e ne rappresenta uno dei fattori di successo. I dispositivi BB possono accedere alla rete mediante 5 differenti modalità: Servizi BlackBerry Enterprise Server / BlackBerry Mobile Data System (BES / MDS) Servizi BlackBerry Internet Service (BIS) Connessione wireless TCP/IP Wi.-Fi WAP (nelle versioni 1.0 e 2.0)

+ Accedere alla rete

+ BES / MDS Consente la connessione sicura dei dispositivi ad un insieme di server interni all azienda. Utilizza un protocollo sicuro, criptato, compresso e ridondante a livello di trasporto, al posto del tradizionale protocollo TCP. I dispositivi utilizzano il server BES interno all azienda come proxy per l accesso ad Internet e la navigazione. Grazie alla tecnologia BES/MDS è possibile superare in modo sicuro le limitazioni di accesso imposte dai firewall aziendali. Integrazione con Exchange e Lotus Domino

+ Connessione mediante APN su TCP/IP Connettività similare alla maggior parte degli smartphone, mediante definizione di un APN di riferimento. Presenza di nessun servizio specifico della piattaforma e delle rispettive garanzie di sicurezza del canale di comunicazione. E comunque possibile disattivare questa tipologia di connessione sui dispositivi connessi mediante BES e BIS Fate attenzione quando programmate a considerare il fatto che il vostro ambiente di sviluppo possa essere molto differente dall effettivo ambiente di utilizzo del cliente. Testate sempre su ciascuna modalità di accesso alla rete, scoprirete che ciascuna modalità di accesso ha le sue idiosincrasie.

+ Connessione mediante BIS e Wi-Fi Fornisce agli utenti singoli o con un numero limitato di dispositivi i medesimi servizi offerti dal BES in ambiente corporate. Ambiente standard per la ricezione e l invio delle email in ambiente BlackBerry. Da alcuni anni i dispositivi BB dispongo anche di connettività Wi-Fi. Può essere utilizzata per avviare connessioni TCP/IP (ove consentito dall amministratore del BES) o mediante connessione al server BES / BIS.

+ Le API per lavorare in rete Le abbiamo in parte già viste nelle scorse lezioni su J2ME Vi ricordate l esempio in cui abbiamo utilizzato HttpConnection per scaricare una immagine dal web e visualizzarla all interno del nostro simulatore??? Possiamo utilizzare le classi per la connessione a diverse tipologie di protocolli di rete definite in J2ME Utilizzando il metodo Connector.open come strumento di accesso universale alla connettività del dispositivo. Per default i device in BES utilizzano la modalità di connessione BES, mentre i device non in BES per default utilizzano la connettività TCP/IP su APN. Per forzare l utilizzo di TCP/IP posso utilizzare, come modificatore dell url, la stringa deviceside=true

+ Le API per lavorare in rete Anche nel caso in cui si voglia forzare la connessione mediante rete wi-fi è possibile utilizzare per l url il suffisso interface=wi-fi. In generale, quando si lavora su BB, in particolare su connettività di rete, è necessario conoscere la tipologia di connessione adottata dal dispositivo. CoverageInfo: determina se la connessione è di tipo BES / MDS, BIS o mediante connessione diretta TCP/IP WLANInfo: determina se la connessione è basata su Wi-Fi. Per ciascuna app è opportuno determinare l ordine di utilizzo delle differenti tipologie di connessione.

+ Localizzazione GPS BlackBerry introduce un insieme esteso di API per la gestione della localizzazione dell utente, grazie all interazione con un insieme eterogeneo di sensori e servizi. Cella di riferimento del segnale GSM: accuratezza ridotta (3-4 km) ma immediata identificazione della posizione. Assisted GPS: utilizzo congiunto di connettività di rete e dati derivanti dal sensore GPS. Più lento e preciso delle celle di riferimento GSM ma più veloce del GPS non assistito. GPS: utilizzo del solo sensore GPS. Può richiedere anche alcuni minuti per poter raggiungere una accuratezza sufficiente. Ciascuna soluzione presenta pro e contro. Valutate sempre anche un ulteriore elemento importantissimo in ambito mobile: la durata della batteria.

+ BlackBerry Maps E possibile interagire con il servizio di mappe di BlackBerry, il BB Maps, in modo del tutto analogo a quanto vedremo nel caso di Android, mediante l invio al sistema operativo di un Intento. Dico esplicitamente al S.O. di avviare un servizio o una applicazione dato un insieme di parametri. Utilizzo il metodo Invoke.invokeApplication(Invoke.APP_TYPE_MAPS, args); Solo dalla versione 4.5 è possibile utilizzare le mappe come componente all interno di una applicazione. Posso utilizzare l applicativo Maps per visualizzare una mappa ed un eventuale percorso o insieme di punti. Componente MapField.

+ Distribuire le applicazioni BB Le applicazioni BB possono essere distribuite in 4 modalità differenti: BlackBerry World: è lo store ufficiale di BB. Successivo rispetto ad Apple Store ed Android Market, consente il download di applicazioni gratuite ed a pagamento. La pubblicazione richiede l acquisto di un insieme di crediti per la sottomissione della propria applicazione. La valutazione è esclusivamente tecnica e non contenutistica (e.g. Apple Store). Over the Air: è possibile distribuire una applicazione BlackBerry anche mediante il semplice download da un generico sito Internet. Installazione mediante file JAD

+ Distribuire le applicazioni BB Desktop Manager: le applicazioni BB possono, inoltre, essere installate anche mediante il software di sincronizzazione desktop del proprio dispositivo. Installazione mediante file ALX. BES: la soluzione ottimale per l installazione delle applicazioni corporate è senza dubbio quella di passare attraverso il server BES. L amministratore può decidere, grazie alla notifica push delle applicazioni e degli aggiornamenti, quali applicazioni rendere disponibili per i singoli dispositivi.

+ Domande??? Grazie a tutti per l attenzione