TRONG>Clique aqui para ler todos os artigos desta ediçãoimagem_pdf.jpg

Conteúdo Push em J2ME

A API de Push Registry do MIDP 2.0

Aprenda a ativar MIDlets automaticamente, quando ocorrer eventos de rede ou disparando alarmes pré-programados

O MIDP 2.0 é um marco importante para a indústria de desenvolvimento de aplicações móveis. A nova especificação permite aos programadores tirar vantagens competitivas das diversas características da plataforma, e torna possível construir aplicações J2ME mais complexas, de forma mais rápida e com custos reduzidos.

Uma das características mais interessantes da nova especificação é o Push Registry, que fornece uma maneira do MIDlet responder a um evento de rede externo mesmo sem estar ativo. Entre outras coisas, essa característica pode ser usada para integrar os recursos de messaging dentro das aplicações, fazendo uma aplicação “acordar” ao receber um SMS ou quando ocorrer outro evento externo de rede.

Com o novo recurso, podemos criar MIDlets que agem como um serviço que executa alguma tarefa no telefone sem que o usuário tenha que iniciar a aplicação explicitamente. As aplicações J2ME ganham certo “prestígio” no dispositivo – tanto quanto as aplicações SMS ou as de realizações de chamada – e não mais são obrigadas a ficarem escondidas sob um menu obscuro e difícil de encontrar.

Neste artigo, vamos discutir com detalhes as características do Push Registry e demonstrar como o recurso pode ser usado para criar aplicações J2ME de alto nível.

Componentes da solução

No coração do Push Registry estão dois componentes: a classe javax.microedition.io.PushRegistry e o AMS (Application Management System – Sistema de Gerenciamento de Aplicações). A classe PushRegistry fornece a interface para o gerenciamento de conexões de rede relacionadas com o “push”. O AMS monitora a atividade da rede e inicia o MIDlet associado (se este não estiver rodando), em resposta a um evento registrado em uma determinada porta.

 

Para testar os exemplos deste artigo, você vai precisar do J2ME Wireless Toolkit 2.1, disponível em java.sun.com/products/j2mewtoolkit/download-2_1.html

 

Observe como funciona o processo:

1) Um MIDlet registra uma conexão (um socket, por exemplo) em uma determinada porta. Isso pode ser feito de duas formas: estaticamente, especificando a conexão no arquivo descritor (JAD) ou dinamicamente, usando a classe PushRegistry em tempo de execução.

2) Quando o AMS detecta um evento de rede associado ao MIDlet, ele dispara a aplicação e chama o método startApp(). Nesse momento, o MIDlet toma para si a responsabilidade pela conexão e executa os passos necessários para começar a ler os dados vindos dela.

 

Caso o MIDlet já esteja ativo, é importante entender que o AMS não é envolvido no processo, já que no estado de "ativo" a aplicação pode gerenciar conexões sem a ajuda do AMS.

 

Para suporte a push, a plataforma deve suportar tipos de conexões “inbound”, tipicamente sockets, datagramas ou WMA. Para um MIDlet receber um evento de push, ele deve possuir um endereço conhecido por quem vai enviar o evento. No caso de mensagens SMS, o endereço de push é o número do telefone e a porta; para socket e datagramas, o endereço IP.

Registro estático

Para declarar uma conexão push estaticamente, deve ser acrescentada uma linha ao arquivo descritor (JAD), descrevendo a conexão e seguindo este formato:

 

MIDlet-Push-: , ,

  ... 
                    
Quer ler esse conteúdo completo? Tenha acesso completo