JavaME - Aula 1
-
Upload
elenilson-vieira -
Category
Technology
-
view
1.725 -
download
1
description
Transcript of JavaME - Aula 1
![Page 1: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/1.jpg)
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 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/2.jpg)
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 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/3.jpg)
![Page 4: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/4.jpg)
Visão geral da plataforma Java
[SUN, 2008]
![Page 5: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/5.jpg)
Configurações do JavaME
CLDC 1.0 / CLDC 1.1
![Page 6: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/6.jpg)
Perfis do CLDC
MIDP 2 .1 . . . MIDP 3.0*
•Trata-se da especificaçãooriginal (JSR 37);
•Provê o núcleo necessáriopara aplicações móveis,como componentes básicosde interface e conexão derede.
• Revisão da especificaçãooriginal (JSR 118);
•Componentes deinterface aprimorados,HTTPS, suporte a jogos eaplicações multimídia.
![Page 7: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/7.jpg)
O que vamos usar
Possíveis pacotes opcionais
• É o "padrão de
mercado" atual.
• Mobile Media API(MMAPI) – JSR 135;
•Wireless MessagingAPI (WMA) – JSR 205;
•File ConnectionOptional Package(FCOP) – JSR 75.
![Page 8: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/8.jpg)
Ciclo de vida de uma aplicação JavaME
[FONSECA, 2005]
![Page 9: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/9.jpg)
Estrutura básica de classes
[FONSECA, 2005]
![Page 10: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/10.jpg)
Estrutura expandida de classes
MIDP 2.0 ou superiorComum a todas as versões do MIDP
![Page 11: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/11.jpg)
Expandindo mais ainda...
![Page 12: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/12.jpg)
Muita hora nessa calma...
•Apesar da grandequantidade de classes, elassão de muito fácil uso. Emgeral, basta apenas chamaro construtor da classe, setaralguns métodos e depoisinformar ao Display paramostrá-la na tela;
•Os Commands sãoessenciais. Você podeadicionar Commands emqualquer tela. Eles regem anavegação da sua aplicação.Basta implementar ométodo commandAction()da interfaceCommandListener.
![Page 13: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/13.jpg)
Persistência de Dados
•Através do RMS (RecordManagement Store), umesquema dearmazenamento bastantesimples do JavaME;
•Uma aplicação podeacessar múltiplos RecordStores e cada um poderter N registros.
• Possui recursosinteressantes, comonavegar pelos registrosatravés de umRecordEnumeration,filtrando-os da maneiraque achar conveniente(RecordFilter) eordenando-os tambémcomo quiser(RecordComparator).
![Page 14: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/14.jpg)
Persistência de Dados
Forma de armazenamento dos Record Stores
![Page 15: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/15.jpg)
![Page 16: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/16.jpg)
Tecnologias utilizadas
•Game Builder(Não)
• Mobility
•Visual Mobile
Designer (Não, é a
baba é?)
![Page 17: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/17.jpg)
NetBeans 6.5 (Full ou Mobility)
•Suporte completo a plataforma
JavaME;
•Ferramenta RAD para navegação
de telas com o Visual Mobile
Designer;
•Ferramenta RAD para o design
dos jogos com oGame Builder.
![Page 18: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/18.jpg)
Emuladores
Sun Java Wireless Toolkit (JWT)
MotoDEV SDK
Nokia S40/S60 SDK
![Page 19: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/19.jpg)
Emuladores
Sun Java Wireless Toolkit (JWT)
MotoDEV SDK
Nokia S40/S60 SDK
![Page 20: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/20.jpg)
Exemplo 1:Olá Mundo!
![Page 21: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/21.jpg)
Exemplo 2: FuelMIDlet (Parte 1/3)
![Page 22: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/22.jpg)
Exemplo 2: FuelMIDlet (Parte 2/3)
![Page 23: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/23.jpg)
Exemplo 2: FuelMIDlet (Parte 3/3)
![Page 24: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/24.jpg)
Exemplo 3: PhoneBookMIDlet (Parte 1/3)
![Page 25: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/25.jpg)
Exemplo 3: PhoneBookMIDlet(Parte 2/3)
![Page 26: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/26.jpg)
Exemplo 3: PhoneBookMIDlet (Parte 3/3)
![Page 27: JavaME - Aula 1](https://reader033.fdocumentos.tips/reader033/viewer/2022061120/546bdef9b4af9f7a2c8b4e8a/html5/thumbnails/27.jpg)
Mas esses exemplos estão muito feios...
•Vamosmelhorá-los!
•SplashScreen herdando deCanvas;
•Uso deRecordFilter/RecordComparator noExemplo 3;
•Trocar os componentes de alto nível(Alert, Form, List) por telas de baixonível herdando deCanvas.