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
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...
JavaME - Aula 2

JavaME - Aula 2

  • 1.
    ERISVALDO GADELHA SARAIVAJÚ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
  • 4.
    Principais classes doJavaME Comum a todas as versões do MIDP MIDP 2.0 ou superior
  • 5.
    ClasseCanvas • Classe abstrataque 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 xPortabilidade) •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 xPortabilidade) •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.
  • 9.
    Exemplo de SplashScreen com Canvas
  • 10.
  • 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;
  • 12.
  • 14.
    Integração com aWEB • 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 andPIM 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...