Powered By Java! – J2ME parte 2 1


logo_J2ME

Olá pessoal.

No artigo anterior sobre J2ME tivemos uma introdução à linguagem, abordamos os conceitos das MIDlets, CLDC, MIDP e vimos como funciona a SDK da Sun.

Para quem ainda não teve a oportunidade de ler o primeiro artigo clique aqui.

Nesta segunda parte pretendo explicar o conceito dos arquivos JAR e JAD e o funcionamento do software Gerenciador de Aplicativos.

Os arquivos JAR e JAD e o Gerenciador de Aplicativos.


Gerenciador de Aplicativos.

Em um dispositivo móvel temos um software que é responsável pela execução das MIDlets. Este software é conhecido como Gerenciador de Aplicativos (Application Manager) e é implementado pela fabricante dos aparelhos. Todos os recursos da CLDC e MIDP ficarão disponíveis para as MIDlets através do Gerenciador de Aplicativos, bem como o acesso aos arquivos JAR e JAD que veremos a seguir.

Os arquivos JAR (Java Archive).

Normalmente as aplicações construídas em J2ME consistirão em diversos arquivos como os próprios arquivos “.class”, conteúdo auxiliar como imagens e demais necessários para a aplicação. Um arquivo JAR é o pacote que contém todos esses dados.

“Os arquivos JAR (Java Archive) permitem a adição de múltiplos arquivos dentro de sua estrutura. Usualmente um arquivo JAR conterá os arquivos Class e os arquivos auxiliares associados às applets.

(…)

Os benefícios dos arquivos JAR:

  • Segurança: Você pode assinar digitalmente os conteúdos do arquivo JAR. Usuários que reconheçam sua assinatura podem garantir privilégios ao seu software que caso contrário não seria possível.
  • Tempo de download reduzido: Se sua aplicação está compactada em um arquivo JAR, os arquivos de classes e os recursos associados podem ser baixados utilizando apenas uma transação HTTP sem a necessidade de abrir outra conexão para cada arquivo.
  • Compressão: O formato JAR permite uma ótima compressão para um arquivamento eficaz.
  • Recursos para extensões: A estrutura de extensões possibilita uma maneira pela qual você pode adicionar funcionalidades à plataforma nativa Java e o arquivo JAR define o empacotamento destas extensões. Java 3D e JavaMail são exemplos de extensões desenvolvidas pela Sun. Usando os arquivos JAR, você também pode transformar suas aplicações em extensões.
  • Autenticidade de empacotamento: Pacotes armazenados em um arquivo JAR podem opcionalmente ser autenticados para obter a consistência da aplicação. Autenticando um pacote dentro de um arquivo JAR significa que todas as classes definidas em tal pacote devem ser localizadas em tal arquivo JAR.
  • Versões dos pacotes: Um arquivo JAR pode conter informações sobre os arquivos que contém, como por exemplo, informações sobre o fornecedor ou mesmo a versão do aplicativo.
  • Portabilidade: O mecanismo de portabilidade de arquivos JAR é uma das partes padrões da API da plataforma Java.”

Fonte: http://java.sun.com/developer/Books/javaprogramming/JAR/index.html

Outro arquivo importante que é empacotado em um arquivo JAR é o arquivo manifest.mf. Este arquivo contém informações sobre o conteúdo do arquivo JAR.

Os arquivos manifest.mf contém diversos atributos porém os seis abaixo são obrigatórios na composição deste arquivo, caso contrário o Gerenciador de Aplicativos NÃO executará o arquivo JAR:

MIDlet-x (este atributo deve ser repetido para cada MIDlet), MIDlet-Name, MIDlet-Vendor, MIDlet-Version, MicroEdition-Configuration, MicroEdition-Profile.

Abaixo a estrutura do arquivo manifest.mf de um Cronômetro que construí em J2ME.

MIDlet-1: cronometro, , cronometro

MIDlet-Vendor: TestSoft

MIDlet-Name: cronometro

MIDlet-Version: 1.0

MIDlet-Description: Meu cronômetro superespecial

MicroEdition-Configuration: CLDC-1.1

MicroEdition-Profile: MIDP-2.1

Os arquivos JAD (Java Application Descriptor).

Como mencionado anteriormente, o Gerenciador de Aplicativos é responsável pelas MIDlets em nosso dispositivo. Este software além de permitir acesso aos recursos da CLDC e MIDP para as aplicações também pode recuperar informações sobre as mesmas dentro dos arquivos JAD. Um exemplo prático é quando desejamos recuperar a informação do fornecedor do software ou até mesmo a versão da própria MIDlet. Além disso o Gerenciador de Aplicativos baseia-se no arquivo JAD para recuperar informações sobre o arquivo JAR, podendo então tomar decisões quanto a execução das MIDlets.

Porém a eficácia dos arquivos JAD vai além, pois podemos também passar parâmetros para nossas MIDlets através dele. Imagine uma ocasião onde é necessário alterar a descrição de nossa MIDlet (MIDlet-Description). Se isto for efetivado dentro do arquivo manifest.mf então significa que teríamos de alterar o arquivo JAR, pois o manifesto está localizado dentro deste arquivo. Entretanto como temos esta possibilidade de alteração no arquivo JAD então não será necessário alterar nosso arquivo JAR.

Além disso, atributos definidos pelo programador podem ser passados para o arquivo JAD, contanto que os mesmos não iniciem com a expressão “MIDlet-“.

Um exemplo de estrutura do arquivo JAD:

MIDlet-1: cronometro, , cronometro
MIDlet-Jar-Size: 3127
MIDlet-Jar-URL: cronometro.jar
MIDlet-Name: cronometro
MIDlet-Vendor: TestSoft
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.1

Uma observação:

Os atributos MIDlet-Name, MIDlet-Vendor e MIDlet-Version obrigatoriamente devem ser iguais tanto no arquivo manifest.mf quanto no arquivo JAD.

cellphone

Finalizamos aqui nossa segunda parte da introdução ao J2ME. Espero que tenham aproveitado e no próximo artigo vamos estudar o ciclo de vida de uma MIDlet e começaremos a trabalhar com objetos.

Abraços!

Gabriel Domingues

Últimos 5 artigos de Gabriel Angeli

Sobre Gabriel Angeli

De Campinas-SP, graduado em Análise de Sistemas pela Universidade Paulista. Atua como desenvolvedor líder em uma empresa de consultoria e desenvolvimento de sistemas E.R.P. Gabriel é fanático por games e também adora animação digital, ficção científica e ufologia.

Deixe uma resposta

Um pensamento em “Powered By Java! – J2ME parte 2

  • Lucas Lopes

    Meu celular já tem java, mas é muito lento tentei de tudo, Ai achei seu site com j2me jar, tentei instalar no meu celular mas aparece ¨Fecheiro jar comprimido¨ i eu não sei o que é,

    tambem quando tento assistir videos no meu java ou usar bluthoo aparece o seguinte erro ¨javaxmicroedition¨ por favoor me ajudee!!!!