16
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: [email protected] Site: http://erisvaldojunior.com Twitter: http://twitter.com/erisvaldojunior

JavaME - Aula 2

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: JavaME - Aula 2

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: [email protected]

Site: http://erisvaldojunior.com

Twitter: http://twitter.com/erisvaldojunior

Page 2: JavaME - Aula 2

Objetivo ROTEIRO

Desenvolver aplicações para

dispositivos móveis

considerando fatores como

portabilidade, uso de

memória e processamento.

A plataforma J2ME

Exemplos Práticos

Interface X Portabilidade

Próximos Passos

Web / Pacotes Opcionais

Page 3: JavaME - Aula 2
Page 4: JavaME - Aula 2

Principais classes do JavaME

MIDP 2.0 ou superiorComum a todas as versões do MIDP

Page 5: JavaME - Aula 2

ClasseCanvas

•Classe abstrata que deveser especializada para aconfecção de uma tela embaixo nível;

•As classes que herdamde Canvasobrigatoriamente devemimplementar o métodopaint(), responsável pordesenhar a tela;

•As classes queherdam de Canvaspodem implementaro métodokeyPressed(), queverifica se umadeterminada tecla foipressionada.

Page 6: JavaME - Aula 2

ClasseCanvas

•O método paint()recebe comoargumento umainstância de Graphics,com a qual é possíveldesenhar na tela;

•Graphics possuidiversos métodospara desenhar natela, tais como:drawImage(),drawRect(), fillRect(),drawString(), etc.

Page 7: JavaME - Aula 2

ClasseCanvas (Imagens x Portabilidade)

•A altura e a largurada tela podem serobtidas pelosmétodos getHeight()e getWidth(),respectivamente;

•Todos os desenhos

devem ser sempre

posicionados de acordo

com as dimensões de

tela, permitindo a

portabilidade da

aplicação.

Page 8: JavaME - Aula 2

ClasseCanvas (Teclas x Portabilidade)

•Qualquer tecla que ousuário pressionarpode ser tratada pelométodokeyPressed(intkeyCode);

•As "Soft Keys" nãopossuem constantesdefinidas em Canvas, ouseja, o keyCode varia deaparelho para aparelho.Com isso, o uso deCommands é recomendado,visando evitar-se problemasde portabilidade.

Page 9: JavaME - Aula 2

Exemplo de Splash Screen com Canvas

Page 10: JavaME - Aula 2

Constantes de teclas emCanvas

Page 11: JavaME - Aula 2

GameCanvas x Canvas

•O MIDP 2.0 apresentaa classe GameCanvas,que herda de Canvas epossui algumasvantagens em relação aanterior, sendobastante útil parajogos;

• Em GameCanvas, nãohá necessidade deimplementar o métodopaint(). Graphics éobtido comgetGraphics() e oestado das teclas comgetKeyStates().

Page 12: JavaME - Aula 2

Constantes de teclas emGameCanvas

Page 13: JavaME - Aula 2
Page 14: JavaME - Aula 2

Integração com a WEB

• J2ME é capaz de realizarrequisições HTTP, do tipo GET ouPOST, bem como tratar suasrespostas. Isso permite:

• Envio de conteúdo parauma aplicação PhP, RoRou umServlet;

• A aplicação Web podeintegrar o conteúdo aum banco de dados;

• O cliente JavaME podemostrar a resposta darequisição.

Page 15: JavaME - Aula 2

Pacotes Opcionais•FileConnection and PIMAPI (JSR 75);

•JavaAPIs for Bluetooth 1.1 (JSR 82);

•Mobile Media API 1.1 (JSR 135);

•LocationAPI for J2ME 1.1 (JSR 179);

•Mobile 3D Graphics API for J2ME 1.1

(JSR 184);

•Wireless MessagingAPI 2.0 (JSR 205);

• Advanced Multimedia

Supplements 1.1 (JSR

234);

• Mobile Sensor API (JSR

256);

• Entre outros...

Page 16: JavaME - Aula 2