Esse artigo faz parte da revista Java Magazine edição 17. Clique aqui para ler todos os artigos desta edição.

Clique aqui para ler esse artigo em PDF.imagem_pdf.jpg

 

Conteúdo gerenciado no J2ME

Conheça a nova Content Handler API

 

A JSR-211 (Content Handler API – CHAPI) define uma das mais inovadoras e úteis APIs do J2ME. A CHAPI é um pacote opcional J2ME, cuja especificação estará em versão final quan­do esta edição for publicada. Em linhas ge­rais, a Content Handler API estabelece um modelo de comunicação entre aplicações – tanto Java quanto não-Java –, permitindo que MIDlets atuem como manipuladores de tipos de arquivos específicos. Uma das maiores barreiras para o desenvolvimento de aplicativos J2ME integrados à platafor­ma de hardware tem sido a dificuldade de comunicação entre aplicações. Este é justamente o ponto tratado pela API.

Content Handlers

A especificação, como indica seu título, baseia-se no conceito de content handlers (manipuladores de conteúdo). De acordo com esse modelo de execução, um MIDlet pode registrar-se no sistema operacional do dispositivo para manipular arquivos de um ou mais tipos MIME (por exemplo image/png), determinando quais ações ele pode executar sobre esses arquivos (visu­alizar, criar, renomear etc).

 

 Neste artigo, serão usados "content han­dler", "handler" e  "manipulador de conteúdo" com o mesmo significado.

 

Feito o registro, o MIDlet passa a ser ativado automaticamente, sempre que for requisitada uma das ações determinadas num arquivo do tipo específico. O MIDlet que faz a invocação não indica explici­tamente qual aplicação está chamando; ele informa a URI do conteúdo a ser ma­nipulado e a operação a ser realizada, e parâmetros opcionais.

 Em casos onde exista mais de um content handler para um tipo de arquivo (por exemplo, se houver dois tocadores de MP3 instalados no dispositivo), a aplicação invocadora pode indicar a aplicação que deseja executar pas­sando um ID.

Partes da API

Composta de apenas sete classes e interfa­ces, todas no pacote javax.microedition.content, a CHAPI define os mecanismos necessá­rios para invocar um handler e obter uma resposta, registrar e desregistrar um han­dler, pesquisar por handlers instalados e responder a invocações. A Tabela 1 resume os elementos da API.

Invocando um handler

A invocação de um content han­dler é simples; veja um exemplo na Listagem 1. No trecho mostrado, a aplica­ção requisita, via um objeto Invocation, que seja ativada a aplicação manipuladora para
arquivos
vcard. É fornecida a URI do objeto a ser manipulado e a operação de abertura de arquivo (ContentHandler.ACTION_OPEN),
além de um argumento que pode ser usando na aplicação manipuladora
para executar alguma lógica de negócio específica.

 

 Os exemplos deste artigo foram baseados no draft público da especificação.

 

A invocação de um handler é feita com Registry.invoke(). O método retorna um
valor booleano, que indica se a aplicação atual deve ser fechada antes que o handler seja ativado. Este valor de retorno reflete
...

Quer ler esse conteúdo completo? Tenha acesso completo