sabato 31 gennaio 2009

Integrazione con applicazioni BlackBerry - 3° parte

Eccoci finalmente, dopo qualche giorno di pausa, alla terza parte di questa panoramica sugli aspetti tecnici dell'integrazione con le applicazioni native del BlackBerry. Uno degli obiettivi che mi sono posto durante la progettazione di Copilota consiste nel dare la possibilità a chi utilizza l'applicazione di condividere con amici e colleghi quanto di interessante (ristoranti, musei, ecc.) ha scoperto durante i suoi viaggi. Lo strumento più naturale per raggiungere questo scopo mi è sembrata l'email, quindi mi sono trovato di fronte alla necessità di inviare allegati contenenti le informazioni applicative e di riconoscerle sul dispositivo del destinatario, in modo da poterle gestire opportunamente. La piattaforma di RIM mette a disposizione un'apposita interfaccia, net.rim.blackberry.api.mail.AttachmentHandler, le cui implementazioni possono essere registrate come gestori di allegati personalizzati, tramite il metodo addAttachmentHandler della classe net.rim.blackberry.api.mail.AttachmentHandlerManager. Questa interfaccia presenta tre metodi:
  • String menuString() - permette di indicare la voce di menù che appare quando si seleziona un allegato gestito da questa implementazione;
  • boolean supports(String contentType) - viene utilizzato per discriminare gli allegati da gestire da tutti gli altri. In questo metodo bisogna controllare che il contentType passato sia riconducibile a quello dell'allegato con le informazioni applicative;
  • void run(Message m, SupportedAttachmentPart p) - è il metodo che viene eseguito quando l'utente seleziona la voce di menù associata a questo gestore. Il contentuto dell'allegato può essere ricavato tramite la chiamata p.getContent(), che restituisce un array di byte, da interpretare secondo un certo formato (testo, immagine, file zip, ecc.)
Come ho scritto in un post precedente, la chiamata p.getContent() funziona solo con le versioni del sistema operativo dalla 4.5.0.63 in poi; quindi, per poter fornire questa funzionalità a tutti i possessori di BlackBerry, ho inviato i dati da condividere sia nell'allegato che nel corpo del messaggio: se non trovo niente nel primo, li recupero dal secondo.

Nel prossimo post completerò questo argomento, esaminando come creare e inviare via mail un allegato personalizzato. A questo punto vi saluto con alcune novità:
  • Copilota ha superato abbondantemente i 300 download e anche le altre applicazioni per BlackBerry ultimamente sono state scaricate molte volte, in particolare IBANc;
  • Ho iniziato a sviluppare una nuova applicazione per BlackBerry; il progetto è già impostato e alcune classi sono completate, ma ancora mancano tutte quelle che costituiscono l'interfaccia grafica;
  • Abbiamo adottato GWT e SmartGWT come librerie base per un nuovo progetto relativamente complesso e sono molto soddisfatto dei risultati ottenuti fino a questo momento. La possibilità di realizzare applicazioni AJAX direttamente in Java è notevole e spero di poter dedicare qualche prossimo post a questi argomenti.

Nessun commento:

Ricerca personalizzata