introdução ao j2me conexão java 2004

26
Introdução ao J2ME Conexão Java 2004 14 e 15 de Agosto de 2004 Douglas Alves [email protected] [email protected]

Upload: elliando-dias

Post on 06-Jun-2015

1.528 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Introdução ao J2ME Conexão Java 2004

Introdução ao J2MEConexão Java 2004

14 e 15 de Agosto de 2004Douglas Alves

[email protected]@dis.epm.br

Page 2: Introdução ao J2ME Conexão Java 2004

O que é um dispositivo wireless?

PCPDA’sComunicadoresTelefonesPagersCarrosSmart Cards, etc

Page 3: Introdução ao J2ME Conexão Java 2004

Por que usar J2ME ?

Pode ser a única forma de programar em alguns dispositivos

Compartilha sua lógica entre servidores e dispositivos

Dinamismo na obtenção dos aplicativos

Programas compactos

Ambiente de desenvolvimento é rápido e seguro

Page 4: Introdução ao J2ME Conexão Java 2004

Por que usar J2ME ?

Existem aproximadamente 1 bilhão e 500 mil celulares no mundo

Newsweek – 07 de junho de 2004

Entre 40-50% destes aparelhos devem estar aptos a acessar internet nos próximos 2 anosJá é 2 vezes mais numeroso que os PC’s

Page 5: Introdução ao J2ME Conexão Java 2004

Como deve parecer uma aplicação em J2ME ?

SERVIDOR

DISPOSITIVO

DISPOSITIVO

PC

TCP/IPWSP

Bluetooth

SerialUSB

TCP/IP

Page 6: Introdução ao J2ME Conexão Java 2004

O que é J2ME?

Page 7: Introdução ao J2ME Conexão Java 2004

Configurações e perfis

J2ME por si, não faz tudoConfigurações: Bibliotecas básicas e JVMPerfis (Profiles): Ferramentas para o dispositivo ou mercado específicoConfigurações J2ME:- CDC- CLDCConfigurações J2ME:- MIDP- Foundation, PDAP, Personal Java, etc...

Page 8: Introdução ao J2ME Conexão Java 2004

O que é uma configuração ?

A configuração, define a capacidadedas bibliotecas básicas e da JVMSujeita a testes de compatibilidadeConfigurações do J2ME:- Connected Device Configuration (CDC)- Connected Limited Device Coniguration (CLDC)

Page 9: Introdução ao J2ME Conexão Java 2004

Configurações

CLDCEquipamentos com baixíssimos níveis de

ProcessamentoCapacidade de memória

Máximo 512kb de RAMEx. Celulares 2G; 2,5G

CDCDispositivos com cerca de 2MB de RAM (algunsPDA’s, telefones 3G, etc.)

Page 10: Introdução ao J2ME Conexão Java 2004

O que é um perfil (profile) ?

Uma coleção de API’s quecomplementam uma configuraçãofornecendo ferramentas de interaçãopara o dispositivo

O perfil ajuda na portabilidade dasaplicações

Page 11: Introdução ao J2ME Conexão Java 2004

Perfis (Profiles)

Os perfis existentes para o CLDC sãodiferentes dos existentes para o CDC

Um perfil pode depender dafuncionalidade de outro perfil, assimcomo uma configuração

Page 12: Introdução ao J2ME Conexão Java 2004

Mobile Information Device Profile

Foi o primeiro perfil do J2MEÉ focado em dispositivosimplementados com o CLDCÉ responsável por:- ferramentas de tela (Display)- interação com o usuário- persistência de dados- “Messaging” (SMS, email, etc), segurança e comunicaçãoatravés da rede wireless

Page 13: Introdução ao J2ME Conexão Java 2004

Configuração CLDC

MIDP PDAP

CLDC

JVM

Page 14: Introdução ao J2ME Conexão Java 2004

MIDlets

Tem que conter pelo menos uma classederivada do pacotejavax.microedition.midlet.MIDletObrigatoriamente, um número de métodostêm que ser implementados para que suaexecução torne-se possívelTem que usar somente as API’s do MIDP para manter sua portabilidade

Page 15: Introdução ao J2ME Conexão Java 2004

Suite de MIDlet’s

Conjunto de MIDlets que fazem partede um único grupo que podem dividirentre si os recursos utilizados.Todos MIDlets em uma suite rodam namesma VM, dividem as mesmasinstancias de classes e recursos.

Page 16: Introdução ao J2ME Conexão Java 2004

Execução de um MIDlet

Tem que haver, por padrão, um construtorpúblico (public).3 estados: pausado, ativo, destruidoEnquanto o MIDlet estiver ativo, ele estárodando o método startApp()O mesmo vale para o método pauseApp() (para quando estiver pausado) e destroyApp() para quando o MIDlet for finalizado.

Page 17: Introdução ao J2ME Conexão Java 2004

Exemplo de um MIDlet

import javax.microedition.midlet.*;import javax.microedition.lcdui.*;

public class OlaMidlet extends MIDlet implementsCommandListener {

private Display display; //Referencia para o objeto Displayprivate TextBox tbMain; //TextBox para mostrar a

mensagemprivate Command cmSair; //Botão para sair do MIDlet

Page 18: Introdução ao J2ME Conexão Java 2004

Exemplo de um MIDlet

public OlaMidlet() {

display = Display.getDisplay(this);

cmSair = new Command("Sair", Command.SCREEN, 1);

tbMain = new TextBox("Bem Vindo", "Ola Midlet", 50, 0);tbMain.addCommand(cmSair);tbMain.setCommandListener(this);

}

Page 19: Introdução ao J2ME Conexão Java 2004

Exemplo de um MIDlet

//Chamada do gerenciador de aplicação para iniciar o Midlet.public void startApp() {

display.setCurrent(tbMain);}//Requisição de métodopublic void pauseApp() { }

//Outra requisição de métodopublic void destroyApp(boolean unconditional) { }

// Checa se o comando de saída foi selecionadopublic void commandAction(Command c, Displayable s) {

if (c == cmSair) {destroyApp(false);notifyDestroyed();

}}

}

Page 20: Introdução ao J2ME Conexão Java 2004

Alo Mundo - Compilação

Linha de comando (MS-DOS)

VANTAGENSMaior capacidade de manipulação de memória e outrosrecursosConhece-se o processo de compilação em “baixo nível”

DESVANTAGENSDigitaçãoComplexo o suficiente para desmotivar iniciantes emsegundosDepende de configuração bem feita

Page 21: Introdução ao J2ME Conexão Java 2004

Linha de comando (MS-DOS)

Page 22: Introdução ao J2ME Conexão Java 2004

Linha de comando (MS-DOS)

Page 23: Introdução ao J2ME Conexão Java 2004

Alo Mundo - Compilação

J2ME Wireless Toolkit (Sun Microsystems)

VANTAGENSFácil de usarAmbiente WindowsUm botão faz tudoJá dispoõe de emuladores e trabalha com ROMS externos(PalmOS)

DESVANTAGENSNão dá muitas opções de customização do MIDlet“Esconde” o processo de compilação e pré-verificação

Page 24: Introdução ao J2ME Conexão Java 2004

J2ME Wireless Toolkit

Page 25: Introdução ao J2ME Conexão Java 2004

J2ME Wireless Toolkit

Page 26: Introdução ao J2ME Conexão Java 2004

J2ME Wireless Toolkit