Aplicativos Móveis
com J2ME
João Sávio Ceregatti Longo

Sun Campus Ambassador
UNESP – Rio Claro/SP
Agenda

           Dispositivos Móveis

                 J2ME

         NetBeans Mobility Pack

            Java ME SDK 3.0

              JavaFX Mobile
                                  2
Dispositivos Móveis
2 bilhões de dispositivos no mundo




                                     3
Dispositivos Móveis
Prós:
        Pequenos
        Robusto e confiável
        Inicialização
        Baixo consumo de energia
Contras:
        Memória
        Processamento
        Conectividade


                                   4
J2EE x J2SE x J2ME




                     5
Portabilidade J2ME




                     6
Plataforma J2ME

                  Profile → Conjunto de API’s que
                  complementa uma “configuração” para
                  prover funcionalidades para um
                  determinado mercado ou dispositivo

                  Configuration → Define a Máquina
                  Virtual e um conjunto de características
                  básicas.




                                                             7
CLDC → Connected Limited Device Configuration
Especifica o ambiente Java para telefones celulares, pagers e
PDAs.
Define características dos dispositivos CLDC:
      Mínimo de 192 kb para a plataforma Java
      Processador de 16 ou 32 bits
      Baixo consumo de energia
      Conexão limitada




                                                                8
Processo de Verificação em 2 Fases




                                     9
CDC → Connected Device Configuration
Superconjunto da CLDC
CVM
Especifica o ambiente Java para TV Digital, dispositivos sem
fio de alto nível e sistemas automotivos




                                                               10
J2SE x CDC x CLDC




                    11
JTWI → Java Technology for the Wireless Industry
Conjunto de serviços e especificações padrão
Objetivos:
     Minimizar a fragmentação de APIs no mercado de
     telefones celulares
     Entregar uma especificação clara e previsível para os
     fabricantes de dispositivos, operadores e
     desenvolvedores de aplicação




                                                             12
MIDP → Mobile Information Device Profile
Ambiente de execução, baseado na CLDC, para
dispositivos sem fio. Define:
     Dispositivo MID (visor, entrada, memória, rede, som)
     API de interface, mídia e jogos
     Políticas de segurança
     Etc
MIDP 2.0:
     Game API
     Media API
     Secure Connection API
                                                            13
Estrutura do MIDP 2.0




                        14
RMS → Record Management Store
Coleção de registros → “banco de dados”




                                          15
O que é um MIDlet?
Aplicação desenvolvida com a utilização do perfil
MIDP e conseqüentemente da configuração CLDC.




                                                    16
Demo

       17
Hello World
public class HelloWorld extends MIDlet implements CommandListener{

  private Command exitCommand;
  private TextBox tBox;

  public HelloWorld() {
    exitCommand = new Command("Exit", Command.EXIT, 1);
    tbox = new TextBox("Hello world MIDlet", "Hello World!", 25, 0);
    tbox.addCommand(exitCommand);
    tbox.setCommandListener(this);
  }


                                                                       18
Hello World
    public void startApp() {
      Display.getDisplay(this).setCurrent(tbox);
    }
    public void pauseApp() {}
    public void destroyApp(boolean unconditional) {}

    public void commandAction(Command c, Displayable d) {
      if (c == exitCommand) {
          destroyApp(false);
          notifyDestroyed();
      }
    }
}
                                                            19
Hello World




              20
Hello World




              21
O que mais eu faço com J2ME?




                               22
Segurança
Java Security Architecture
Suporte à criptografia
HTTPs
SSL




                             23
Network
Wi-Fi
SMS/MMS
GPRS
Bluetooth
Infravermelho
Web Services
Qualquer tecnologia futura


                             24
Como faço aplicações J2ME?




                             25
NetBeans Mobility Pack
Extensão do NetBeans para Java ME
     CDC
     CLDC
Integração com o Wireless Toolkit
Suporte de outros emuladores
     Nokia, Sony Ericsson, Motorola, Siemens, ...
Visual Designer



                                                    26
27
Demo

       28
Java ME SDK 3.0
Sucessor do Sun Java Wireless Toolkit 2.5.2
Integração do CDLC/MIDP, CDC/FP/PBP/AGUI e BD-J
em um único SDK
HotSpot CLDC
Novo ambiente de desenvolvimento
Integração com Lightweight UI Toolkit (LWUIT)




                                                  29
Java ME SDK 3.0 → LWUIT




                          30
Mais? Sim, JavaFX Mobile!!!




                              31
O que é JavaFX?

JavaFX é uma platforma para criação e disponibilização
          de RIA em todas as telas da sua vida




       JavaFX is Powered by Java
                                                     32
JavaFX Mobile!!!

   Antes: MIDlet   Depois: JavaFX Mobile




                                           33
JavaFX Mobile!!!




                   34
JavaFX Mobile!!!




                   35
Perguntas?




             36
Treinamentos
J2ME
       http://www.netbeans.org/kb/trails/mobility.html
       https://sailearningconnection.skillport.com
       http://java.sun.com/javame/reference/apis.jsp
       http://jedi.wv.com.br
JavaFX Mobile:
       http://www.javafx.com
       http://www.javapassion.com/javafx/#JavaFX_Mobile

                                                          37
Referências
DFJUG-Brasil. Curso JEDI - Desenvolvimento de
Aplicações Móveis. Disponível em
<http://jedi.wv.com.br>. Acesso em 22/07/2009
FONSECA, E. Ciclo de vida do MIDlet. Disponível em
<http://imasters.uol.com.br/artigo/3416/java/ciclo_
de_vida_do_midlet/>. Acesso em 11/09/2009




                                                      38
Obrigado!!!

João Sávio Ceregatti Longo

joao.savio@sun.com
joaosavio@gmail.com
www.joaosavio.com

Aplicativos Moveis Com J2ME

  • 1.
    Aplicativos Móveis com J2ME JoãoSávio Ceregatti Longo Sun Campus Ambassador UNESP – Rio Claro/SP
  • 2.
    Agenda Dispositivos Móveis J2ME NetBeans Mobility Pack Java ME SDK 3.0 JavaFX Mobile 2
  • 3.
    Dispositivos Móveis 2 bilhõesde dispositivos no mundo 3
  • 4.
    Dispositivos Móveis Prós: Pequenos Robusto e confiável Inicialização Baixo consumo de energia Contras: Memória Processamento Conectividade 4
  • 5.
    J2EE x J2SEx J2ME 5
  • 6.
  • 7.
    Plataforma J2ME Profile → Conjunto de API’s que complementa uma “configuração” para prover funcionalidades para um determinado mercado ou dispositivo Configuration → Define a Máquina Virtual e um conjunto de características básicas. 7
  • 8.
    CLDC → ConnectedLimited Device Configuration Especifica o ambiente Java para telefones celulares, pagers e PDAs. Define características dos dispositivos CLDC: Mínimo de 192 kb para a plataforma Java Processador de 16 ou 32 bits Baixo consumo de energia Conexão limitada 8
  • 9.
  • 10.
    CDC → ConnectedDevice Configuration Superconjunto da CLDC CVM Especifica o ambiente Java para TV Digital, dispositivos sem fio de alto nível e sistemas automotivos 10
  • 11.
    J2SE x CDCx CLDC 11
  • 12.
    JTWI → JavaTechnology for the Wireless Industry Conjunto de serviços e especificações padrão Objetivos: Minimizar a fragmentação de APIs no mercado de telefones celulares Entregar uma especificação clara e previsível para os fabricantes de dispositivos, operadores e desenvolvedores de aplicação 12
  • 13.
    MIDP → MobileInformation Device Profile Ambiente de execução, baseado na CLDC, para dispositivos sem fio. Define: Dispositivo MID (visor, entrada, memória, rede, som) API de interface, mídia e jogos Políticas de segurança Etc MIDP 2.0: Game API Media API Secure Connection API 13
  • 14.
  • 15.
    RMS → RecordManagement Store Coleção de registros → “banco de dados” 15
  • 16.
    O que éum MIDlet? Aplicação desenvolvida com a utilização do perfil MIDP e conseqüentemente da configuração CLDC. 16
  • 17.
  • 18.
    Hello World public classHelloWorld extends MIDlet implements CommandListener{ private Command exitCommand; private TextBox tBox; public HelloWorld() { exitCommand = new Command("Exit", Command.EXIT, 1); tbox = new TextBox("Hello world MIDlet", "Hello World!", 25, 0); tbox.addCommand(exitCommand); tbox.setCommandListener(this); } 18
  • 19.
    Hello World public void startApp() { Display.getDisplay(this).setCurrent(tbox); } public void pauseApp() {} public void destroyApp(boolean unconditional) {} public void commandAction(Command c, Displayable d) { if (c == exitCommand) { destroyApp(false); notifyDestroyed(); } } } 19
  • 20.
  • 21.
  • 22.
    O que maiseu faço com J2ME? 22
  • 23.
  • 24.
  • 25.
  • 26.
    NetBeans Mobility Pack Extensãodo NetBeans para Java ME CDC CLDC Integração com o Wireless Toolkit Suporte de outros emuladores Nokia, Sony Ericsson, Motorola, Siemens, ... Visual Designer 26
  • 27.
  • 28.
  • 29.
    Java ME SDK3.0 Sucessor do Sun Java Wireless Toolkit 2.5.2 Integração do CDLC/MIDP, CDC/FP/PBP/AGUI e BD-J em um único SDK HotSpot CLDC Novo ambiente de desenvolvimento Integração com Lightweight UI Toolkit (LWUIT) 29
  • 30.
    Java ME SDK3.0 → LWUIT 30
  • 31.
    Mais? Sim, JavaFXMobile!!! 31
  • 32.
    O que éJavaFX? JavaFX é uma platforma para criação e disponibilização de RIA em todas as telas da sua vida JavaFX is Powered by Java 32
  • 33.
    JavaFX Mobile!!! Antes: MIDlet Depois: JavaFX Mobile 33
  • 34.
  • 35.
  • 36.
  • 37.
    Treinamentos J2ME http://www.netbeans.org/kb/trails/mobility.html https://sailearningconnection.skillport.com http://java.sun.com/javame/reference/apis.jsp http://jedi.wv.com.br JavaFX Mobile: http://www.javafx.com http://www.javapassion.com/javafx/#JavaFX_Mobile 37
  • 38.
    Referências DFJUG-Brasil. Curso JEDI- Desenvolvimento de Aplicações Móveis. Disponível em <http://jedi.wv.com.br>. Acesso em 22/07/2009 FONSECA, E. Ciclo de vida do MIDlet. Disponível em <http://imasters.uol.com.br/artigo/3416/java/ciclo_ de_vida_do_midlet/>. Acesso em 11/09/2009 38
  • 39.
    Obrigado!!! João Sávio CeregattiLongo joao.savio@sun.com joaosavio@gmail.com www.joaosavio.com