Artigo Webmobile 6 - Explorando Java ME
Artigo publicado pela revista WebMobile edição 6
Wireless Messaging API (Parte 2) e Push Registry
Leitura Obrigatória: Web Mobile 4, Explorando o J2ME: Conhecendo a Wireless Messaging API (Parte 1).
No artigo anterior, “WMA - Conhecendo a Wireless Messaging API”, foi abordado alguns conceitos sobre mensagens. Nele foi apresentado onde as mensagens estão situadas na arquitetura do Java ME, os conceitos básicos de segurança e como aplicar na prática a API do WMA.
Como continuação, iremos abordar as modificações que foram introduzidas com a evolução da API de Mensagens para WMA 2.0. Esta nova versão da API não traz grandes mudanças ou adições, apenas complementa o que faltava na primeira versão da WMA, que consiste basicamente na adição da possibilidade de envio de mensagens binárias ou de multimídia, conhecidas como Multimedia Message Service (MMS).
Juntamente com o WMA 2.0, vamos aprender a utilizar o recurso Push Registry, inserido na versão 2.0 do MIDP. Este recurso tem como finalidade gerenciar a execução de aplicações (agendar e controlar o seu início), sem que seja preciso a intervenção do usuário para isso. O uso do Push Registry não é exclusivo à API WMA, ele tem utilidade em outros tipos de aplicações.
Para exemplificarmos o uso da WMA 2.0, mostraremos a implementação de uma MIDlet que permite a troca de mensagens MMS. Além disso, serão utilizadas as facilidades oferecidas pelo Push Registry para que se tenha uma noção de como esse serviço pode ser utilizado em aplicações Java ME.
WMA 2.0
A Wireless Message API é uma API do MIDP que, na sua primeira versão, sua implantação era determinada pelo fabricante do aparelho, mas que a partir da versão 2.0 do MIDP se tornou obrigatória à qualquer tipo de aparelho que execute Java ME.
Essa nova versão contempla todos os tipos de mensagens que conhecemos atualmente: SMS, CBS e MMS. Além disto, visto que ela é uma simples evolução da 1.0, os sistemas feitos para aparelhos com MIDP 1.0 são totalmente compatíveis com os que utilizam o MIDP 2.0.
As mensagens MMS existem a fim de disponibilizar um sistema para envio e recebimento de qualquer tipo de mídia que os celulares suportam, ou seja, tudo o que pode ser transportado por um array de bytes. Esse tipo de mensagem tem por obrigação especificar qual o tipo de arquivo que está sendo transportando, bem como outras informações contidas no cabeçalho e no corpo da mensagem. Caso o aparelho receptor não contenha um interpretador para tal tipo de mídia, a mensagem é recebida, mas simplesmente não é mostrada pois o aparelho não sabe como fazê-lo.
Mensagens MMS, assim como as mensagens SMS, são compostas por um cabeçalho e um corpo de mensagem, como pode ser visto na Figura 1.
O cabeçalho de uma mensagem possui informações oriundas do padrão RFC 822, assim como algumas informações específicas para MMS.
O corpo de uma mensagem MMS é composto por várias partes, conhecidas como MessageParts (javax.wireless.messaging.MessagePart). Cada MessagePart possui um mini-cabeçalho e um corpo (body). Neste cabeçalho encontramos três campos:
·MIME-Type: possui informações sobre o tipo de arquivo que vai ser enviado na MessagePart. Por exemplo: image/jpeg, text/plain.
·Content-Location: utilizado para informar o nome do arquivo que estará sendo mandado. Ex: "imagem.png", "texto.txt".
·Content-ID: identificador único de cada parte que compõe uma mensagem. Além disso, o Content-ID pode ser usado para outros fins quando utilizado com certos tipos de conteúdos.
O corpo (body) de cada parte (MessagePart) é composto pelos dados da mídia a ser enviada, como podemos ver na Figura 1.
Figura 1. Estrutura de uma mensagem MMS.
Para se enviar uma MMS, semelhante ao envio de um SMS, uma conexão deve ser aberta através da classe javax.microedition.io.Connector. Essa classe retorna uma javax.microedition.io.Connection que herda de javax.wireless.messaging.MessageConnection. Logo abaixo veremos em código como fazer esta conexão. A conexão é aberta segundo uma URL, que é passada para a classe factory Connection. Um exemplo de URL seria:
- mms://+99887766
- mms://+99887766:meu.pacote.MIDlet
Push Registry" [...] continue lendo...
Artigos relacionados