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.

JavaME - Aula 1

  • 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.
    Visão geral daplataforma Java [SUN, 2008]
  • 5.
    Configurações do JavaME CLDC 1.0 / CLDC 1.1
  • 6.
    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*
  • 7.
    O que vamosusar 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.
  • 8.
    Ciclo de vidade uma aplicação JavaME [FONSECA, 2005]
  • 9.
    Estrutura básica declasses [FONSECA, 2005]
  • 10.
    Estrutura expandida declasses Comum a todas as versões do MIDP MIDP 2.0 ou superior
  • 11.
  • 12.
    Muita hora nessacalma... • 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.
  • 13.
    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).
  • 14.
    Persistência de Dados Forma de armazenamento dos Record Stores
  • 16.
    Tecnologias utilizadas • Mobility •Game Builder(Não) •Visual Mobile Designer (Não, é a baba é?)
  • 17.
    NetBeans 6.5 (Fullou 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.
  • 18.
    Emuladores Sun Java Wireless Toolkit (JWT) Nokia S40/S60 SDK MotoDEV SDK
  • 19.
    Emuladores Sun Java Wireless Toolkit (JWT) Nokia S40/S60 SDK MotoDEV SDK
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
    Mas esses exemplosestã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.