DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 
DevWare  
Novidade: DevMedia lança o DevWare - Saiba mais!


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

Artigo Java Magazine 17 - Conteúdo gerenciado no J2ME

Artigo da Revista Java Magazine - Edição 17

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

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

 

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
os dois modos de execução de mani­pulação de conteúdo previstos pela
especificação.

O modo utilizado depende da capacidade de processamento paralelo do dispositivo. Em dispositivos que permitem a execução simultânea de aplicativos, o handler pode ser executado em paralelo e devolver uma resposta à aplicação invocadora sem que esta precise ser finalizada. Se não houver suporte à execução paralela, a aplicação invocadora deverá ser fechada antes que o conteúdo possa ser manipulado.

O exemplo faz ainda o tratamento da
resposta. Usando
Registry.getResponse(), é possível recuperar um objeto Invocation contendo o resultado do processamento do handler; as propriedades desse ob­jeto (action, args, url, status etc.) podem ser acessadas para obter informações sobre o resultado.

Construindo um handler

"

A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Herval Freire
Sun Certified Java Programmer (SCJP), Web Components Developer (SCWCD) e Micro Application Developer (SCMAD). Atua como consultor em projetos de mobilidade e aplicações wireless.
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
[Fechar] Você precisa estar logado para dar seu feedback.

Clique aqui para efetuar o login

Caso não tenha um cadastro DevMedia, clique aqui para se cadastrar (gratuito)
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03