1. ERISVALDO GADELHA SARAIVA JÚNIOR
Tecnólogo em Sistemas para Internet pelo IFPB
Graduando em Ciência da Computação pela UFPB
Pesquisador do LabTEVE (Laboratório de Tecnologias para o Ensino Virtual e Estatística)
E-mail: erisvaldojunior@gmail.com
Site: http://erisvaldojunior.com
Twitter: http://twitter.com/erisvaldojunior
2. Objetivo ROTEIRO
A plataforma J2ME
Desenvolver aplicações para
dispositivos móveis
considerando fatores como Exemplos Práticos
portabilidade, uso de
memória e processamento. Interface X Portabilidade
Web / Pacotes Opcionais
Próximos Passos
5. ClasseCanvas
• Classe abstrata que deve • As classes que
ser especializada para a
confecção de uma tela em
herdam de Canvas
baixo nível; podem implementar
• As classes que herdam o método
de Canvas keyPressed(), que
obrigatoriamente devem
implementar o método
verifica se uma
paint(), responsável por determinada tecla foi
desenhar a tela; pressionada.
6. ClasseCanvas
• Graphics possui
•O método paint()
diversos métodos
recebe como
para desenhar na
argumento uma
tela, tais como:
instância de Graphics,
drawImage(),
com a qual é possível
drawRect(), fillRect(),
desenhar na tela;
drawString(), etc.
7. ClasseCanvas (Imagens x Portabilidade)
•Todos os desenhos
• A altura e a largura
da tela podem ser devem ser sempre
obtidas pelos posicionados de acordo
métodos getHeight() com as dimensões de
e getWidth(), tela, permitindo a
respectivamente; portabilidade da
aplicação.
8. ClasseCanvas (Teclas x Portabilidade)
•As "Soft Keys" não
• Qualquer tecla que o possuem constantes
usuário pressionar definidas em Canvas, ou
seja, o keyCode varia de
pode ser tratada pelo aparelho para aparelho.
método Com isso, o uso de
Commands é recomendado,
keyPressed(int visando evitar-se problemas
keyCode); de portabilidade.
11. GameCanvas x Canvas
• Em GameCanvas, não
• O MIDP 2.0 apresenta
há necessidade de
a classe GameCanvas,
implementar o método
que herda de Canvas e
paint(). Graphics é
possui algumas
obtido com
vantagens em relação a
getGraphics() e o
anterior, sendo
estado das teclas com
bastante útil para
getKeyStates().
jogos;
14. Integração com a WEB
• J2ME é capaz de realizar
requisições HTTP, do tipo GET ou
POST, bem como tratar suas
respostas. Isso permite:
• Envio de conteúdo para
uma aplicação PhP, RoR
ou um Servlet;
• A aplicação Web pode
integrar o conteúdo a
um banco de dados;
• O cliente JavaME pode
mostrar a resposta da
requisição.
15. Pacotes Opcionais
•FileConnection and PIM API (JSR 75);
•Java APIs for Bluetooth 1.1 (JSR 82);
•Mobile Media API 1.1 (JSR 135);
•Location API for J2ME 1.1 (JSR 179);
•Mobile 3D Graphics API for J2ME 1.1
(JSR 184);
•Wireless Messaging API 2.0 (JSR 205);
• Advanced Multimedia
Supplements 1.1 (JSR
234);
• Mobile Sensor API (JSR
256);
• Entre outros...