Introdução ao J2ME – Java para dispositivos móveis
Bom dia computêros… que tal falarmos de aplicações java para celulares/palms???
- O que é o J2ME:
J2ME é uma plataforma, grupo de tecnologias e especificações que permitem o desenvolvimento para dispositivos móveis limitados. Podemos considerar que J2ME está dividida em três elementos: configurações, perfis e pacotes opcionais.
- As configurações (configurations em inglês) são especificações que determinam uma “máquina virtual” a ser utilizada e um conjunto básico de APIs que poderão ser utilizadas para programar em certo tipo de dispositivo.
- Um perfil (profile em inglês) será definido baseado em alguma configuração, ou seja, um perfil poderá ser considerado uma extensão da configuração, mas adiciona APIs específicas para fornecer um ambiente completo que permita construir aplicativos.
- Um pacote opcional (optional package em inglês) fornece funcionalidade que não foi descrita em determinada configuração e perfil. Por exemplo, um pacote opcional poderia ser utilizado para programar com dispositivos bluetooth, para os quais não existe suporte na configuração e perfil utilizados.
- A estrutura de aplicativos J2ME
Um aplicativo para dispositivos MID (Mobile Information Device), chamado comumente de MIDlet, será construído declarando uma classe derivada de MIDlet (classe da biblioteca do J2ME) que implementará algumas interfaces, dependendo dos critérios de atenção a eventos do programa.
Vários aplicativos poderão ser empacotados dentro de um arquivo .jar e será criado, também, um arquivo .jad como uma descrição do pacote de aplicativos (jad: Java Application Descriptor).
- Exemplo de um arquivo .jad
MIDlet-1: Ola, /um.png, Ola
MIDlet-2: Hola, /dois.png, Hola
MIDlet-3: Hello, /tres.png, Hello
MIDlet-Jar-Size: 5431
MIDlet-Jar-URL: Tres aplicativos.jar
MIDlet-Name: Tres aplicativos
MIDlet-Vendor: Unknown
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-2.0
- Exemplo de um arquivo .jar
META-INF
MANIFEST.MF
Ola.class
Hello.class
Hola.class
um.png
dois.png
tres.png
- Criando um Hello World com J2ME
Para isso precisaremos que a máquina tenha o JDK instalado e configurado corretamente. Caso não tenha o JDK clique aqui.
Precisaremos também do Wireless Tool Kit programa para a compilação e execução das Classes do J2ME.
E se possível de um compilador java, só pra facilitar a digitação, já que não compilaremos com ele…
A instalação do WTK (Wireless Tool Kit) é bem fácil no Windows NNF(Next Next Finish), agora no linux já complica um pouco mais… vou deixar um post específico para ela e depois linko com esse…
Vamos ao código do nosso querido hello world (lembra do primeiro post aqui do blog)
//Hello.java
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Hello extends MIDlet implements CommandListener {
private Command exitCommand; //comando acionado por teclas do dispositivo
private Display display; //manipulador da tela do dispositivo
private TextBox tbMain; //uma tela que permite mostrar e editar informações
public Hello() {
display = Display.getDisplay(this);
exitCommand = new Command("Exit", Command.SCREEN, 2);
tbMain = new TextBox("Meu primeiro app","Olá, mundo!", 150, 0);
tbMain.addCommand(exitCommand);
tbMain.setCommandListener(this);
}
public void startApp() {
display.setCurrent(tbMain);
}
public void pauseApp() {
// método abstrato da classe MIDlet que
// deve ser implementado
}
public void destroyApp(boolean unconditional) {
//método abstrato da classe MIDlet que deve
//ser implementado
}
public void commandAction(Command c, Displayable s) {
if (c == exitCommand) {
destroyApp(false);
notifyDestroyed();
}
}
} //fim da classe
Agora que temos o código, vamos abrir o WTK (Wireless Tool Kit) e clicar no Botão New Project…
O nome do projeto você escolhe, mas o MIDlet Class Name você coloca o mesmo nome da classe, que no nosso caso é Hello, depois de preencher os dois campos clique em “Create Project”
A próxima tela é a de configurações… de início não interessa pra nós… escolha Custom e deixe como esta:

Com o projeto já criado e configurado, devemos copiar o nosso “Hello World” para a pasta src, que fica dentro da pasta do projeto…
Trabalhando no Windows a pasta onde os projetos podem ser criados são duas, dependendo da configuração feita…
C:Documents and Settingsseu usuario do windowsj2mewtk2.5.2apps
C:WTK2.5.2_01apps
É mais provável que seja a primeira…
Com o arquivo copiado podemos compilar com o nosso querido WTK (Wireless Tool Kit), através do botão Build
Se receber a mensagem “Build omplete” já podemos executar o arquivo, caso tenha recebido algum erro, comenta aí que tentamos ajudar…
Para executar o projeto adivinha onde temos que clicar… isso mesmo em “Run”
Voilà… o projeto está rodando certinho!!! lembrando que como se trata de aplicativos móveis num adianta nada ficar clicando fora do “celular”…

Ah, eu estava esquecendo de uma coisa, se você quiser testar o aplicativo no seu celular ele precisa rodar java (é óbvio) e para isso você deverá copiar o arquivo .jar para ele…
Com o projeto aberto vá no menu:
Project/Package/Create Package
Ele irá te informar onde o arquivo foi criado, mas a pasta padrão é a bin dentro da pasta do projeto.
É isso aí computêros, qualquer dúvida, comenta ae!
Para maiores informações eu recomendo que você leia a documentação oficial do J2ME.
Adorei o post! Realmente parece ser bem legal programar para celular.