Seu primeiro Midlet – HelloWorld

Primeiros passos

Nesse artigo apresentaremos um simples Midlet, uma aplicação Hello World. O objetivo é introduzir os conceitos básicos da tecnologia. Nesse exemplo, será exibido a frase “HelloWorld” no Display do simulador.

 

Ferramentas Utilizadas

Existem diversas ferramentas que auxiliam no desenvolvimento de aplicações JavaME, como NetBeans + Mobility Pack, Gel + Wireless ToolKit, Eclipse + Plugin EclipseME +Wireless ToolKit, dentre outras. Utilizaremos a IDE Eclipse.

Iniciando a aplicação

Agora iremos “pôr a mão na massa”. Abra o Eclipse, clique no menu File > New > Project, escolha a opção J2ME(+) > J2ME Midlet Suite > Next. Em seguida, digite PrimeiroMidlet no campo Project Name e clique em Finish.

Note que foi criado um diretório a esquerda, na aba Package Explorer, clique novamente em File > New > Class. Em seguida, digite HelloWorld no campo Name e clique em Finish.

Todas as aplicações JavaME precisam extender(extends) a classe abstrata MIDlet encontrada no pacote javax.microedition.midlet.

O Midlet possui 3 estados:

 

?              Start - Onde é feita a aquisição de recursos, inicializando a execução (startApp);

?              Pause - Liberação de recursos em um modo de espera, ou seja, pausado; utilizado ao atender telefone, receber SMS dentre outras aplicações (pauseApp);

?              Destroy - Método acessado quando o programa é encerrado, liberando todos os recursos (destroyApp)


Chegou a hora de começar a codificar!

wm-31-05-2008pic01.JPG

Com a finalidade de mostrar algum conteúdo em nossa aplicação, precisamos usar a classe Display que faz parte do pacote javax.microedition.lcdui, portanto precisamos importá-lo. Essa classe controla o que aparece na tela do Midlet. Cada midlet tem um display e pode ser acessado através do método estático getDisplay().Para apresentar alguma coisa na tela, precisamos settar um objeto de Display usando o método setCurrent(). Uma classe que implementa Displayable é a classe TextBox. Dessa forma, vamos mudar o nosso método startApp(), para exibir nossa mensagem.

wm-31-05-2008pic02.JPG

Se rodarmos o midlet, veremos uma tela com "Hello World", como mostrada na Figura 1:

wm-31-05-2008pic03.JPG
Figura 1: Simples Hello World

Está um pouco melhor, mas ainda não temos uma forma de sair do Midlet propriamente. (podemos sempre clicar no
|X|). Afim de ter uma saída própria, vamos adicionar mais algumas linhas de código ao nosso método startApp().

wm-31-05-2008pic04.JPG

Isso nos mostra a saída do comando na tela, mas se clicarmos nisso, nada vai acontecer, porque precisamos adicionar um CommandListener ao TextBox. Para isso, precisamos fazer com que a nossa classe HelloWorld implemente a interface CommandListener. Consequentemente, precisamos declarar o método commandAction que espera dois parâmetros. O primeiro é um objeto Command(identificará o comando) e o segundo é um objeto Displayable(onde ocorre o evento).  Segue abaixo o código:

wm-31-05-2008pic05.JPG 

Neste artigo mostramos o passo a passo para desenvolver um Midlet básico. Abaixo o código completo e comentado:

wm-31-05-2008pic06.JPG

Na Figura 2 podemos ver o resultado final da nossa aplicação:


wm-31-05-2008pic07.JPG
Figura 2: Meu Primeiro Midlet

Links

Eclipse: Site Oficial

http://www.eclipse.org/

Sun: JAVAME

http://java.sun.com/javame/index.jsp

Fórum Nokia: Fórum de Discussão JAVAME

http://discussion.forum.nokia.com/forum/index.php

Artigo “A Survey of Java ME Today

http://developers.sun.com/mobility/getstart/articles/survey/

Referência Sun: “Introduction to Mobility Java Technology”

http://developers.sun.com/mobility/getstart/

 

Autores:

Alexandre Rosas Brandão (ar.brandao@gmail.com)
         

Atualmente é Trainee, alocado na HStern pela empresa Value Team. Trabalha com desenvolvimento de aplicações em Forms/Reports e tem experiência SQL e PL/SQL no banco de dados Oracle. Está cursando o 7° período de Ciência da Computação no Instituto Metodista Bennett e é membro do Grupo de Estudos SoftJAM sobre a tecnologia JavaME.

 

Davi Frazão Barbosa (davi.roma@gmail.com)

Atualmente é estagiário de Suporte, na Empresa Estatal Furnas Centrais Elétricas. Está cursando o 7° período de Ciência da Computação no Instituto Metodista Bennett e é membro do Grupo de Estudos SoftJAM sobre a tecnologia JavaME.