introdução ao j2me conexão java 2004
TRANSCRIPT
![Page 1: Introdução ao J2ME Conexão Java 2004](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/2.jpg)
O que é um dispositivo wireless?
PCPDA’sComunicadoresTelefonesPagersCarrosSmart Cards, etc
![Page 3: Introdução ao J2ME Conexão Java 2004](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/6.jpg)
O que é J2ME?
![Page 7: Introdução ao J2ME Conexão Java 2004](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/13.jpg)
Configuração CLDC
MIDP PDAP
CLDC
JVM
![Page 14: Introdução ao J2ME Conexão Java 2004](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/21.jpg)
Linha de comando (MS-DOS)
![Page 22: Introdução ao J2ME Conexão Java 2004](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/22.jpg)
Linha de comando (MS-DOS)
![Page 23: Introdução ao J2ME Conexão Java 2004](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/24.jpg)
J2ME Wireless Toolkit
![Page 25: Introdução ao J2ME Conexão Java 2004](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/25.jpg)
J2ME Wireless Toolkit
![Page 26: Introdução ao J2ME Conexão Java 2004](https://reader034.vdocuments.pub/reader034/viewer/2022052506/5572c718d8b42abb378b4b1b/html5/thumbnails/26.jpg)
J2ME Wireless Toolkit