JavaME
Upcoming SlideShare
Loading in...5
×
 

JavaME

on

  • 2,849 views

 

Statistics

Views

Total Views
2,849
Views on SlideShare
2,814
Embed Views
35

Actions

Likes
0
Downloads
66
Comments
1

5 Embeds 35

http://www.slideshare.net 13
http://blogs.sun.com 11
https://blogs.oracle.com 8
http://blogs.oracle.com 2
http://www.base10.net.br 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • cool
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

JavaME JavaME Presentation Transcript

  • 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
  • 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
  • Visão geral da plataforma Java [SUN, 2008]
  • Configurações do JavaME CLDC 1.0 / CLDC 1.1
  • Perfis do CLDC • Trata-se da especificação • Revisão da especificação original (JSR 37); original (JSR 118); •Provê o núcleo necessário • Componentes de para aplicações móveis, como componentes básicos interface aprimorados, de interface e conexão de HTTPS, suporte a jogos e rede. aplicações multimídia. MIDP 2 .1 . . . MIDP 3.0*
  • O que vamos usar Possíveis pacotes opcionais • Mobile Media API (MMAPI) – JSR 135; • Wireless Messaging API (WMA) – JSR 205; •É o "padrão de •File Connection mercado" atual. Optional Package (FCOP) – JSR 75.
  • Ciclo de vida de uma aplicação JavaME [FONSECA, 2005]
  • Estrutura básica de classes [FONSECA, 2005]
  • Estrutura expandida de classes Comum a todas as versões do MIDP MIDP 2.0 ou superior
  • Expandindo mais ainda...
  • Muita hora nessa calma... • Os Commands são • Apesar da grande essenciais. Você pode quantidade de classes, elas adicionar Commands em são de muito fácil uso. Em qualquer tela. Eles regem a geral, basta apenas chamar navegação da sua aplicação. o construtor da classe, setar Basta implementar o alguns métodos e depois método commandAction() informar ao Display para da interface mostrá-la na tela; CommandListener.
  • Persistência de Dados • Através do RMS (Record • Possui recursos Management Store), um interessantes, como esquema de navegar pelos registros armazenamento bastante através de um RecordEnumeration, simples do JavaME; filtrando-os da maneira • Uma aplicação pode que achar conveniente acessar múltiplos Record (RecordFilter) e Stores e cada um poder ordenando-os também ter N registros. como quiser (RecordComparator).
  • Persistência de Dados Forma de armazenamento dos Record Stores
  • Tecnologias utilizadas • Mobility •Game Builder(Não) •Visual Mobile Designer (Não, é a baba é?)
  • 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 o Game Builder.
  • Emuladores Sun Java Wireless Toolkit (JWT) Nokia S40/S60 SDK MotoDEV SDK
  • Emuladores Sun Java Wireless Toolkit (JWT) Nokia S40/S60 SDK MotoDEV SDK
  • Exemplo 1: Olá Mundo!
  • Exemplo 2: FuelMIDlet (Parte 1/3)
  • Exemplo 2: FuelMIDlet (Parte 2/3)
  • Exemplo 2: FuelMIDlet (Parte 3/3)
  • Exemplo 3: PhoneBookMIDlet (Parte 1/3)
  • Exemplo 3: PhoneBook MIDlet (Parte 2/3)
  • Exemplo 3: PhoneBookMIDlet (Parte 3/3)
  • Mas esses exemplos estão muito feios... •Vamos melhorá-los! •SplashScreen herdando de Canvas; •Uso de RecordFilter/RecordComparator no Exemplo 3; •Trocar os componentes de alto nível (Alert, Form, List) por telas de baixo nível herdando de Canvas.
  • Exemplo 3: NameComparator
  • Exemplo 3: NameFilter
  • Principais classes do JavaME Comum a todas as versões do MIDP MIDP 2.0 ou superior
  • 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.
  • 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.
  • 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.
  • 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.
  • Exemplo de Splash Screen com Canvas
  • Constantes de teclas emCanvas
  • 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;
  • Constantes de teclas emGameCanvas
  • 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.
  • 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...