Introdução a  Java Micro Edition   Bruno de Sousa Monteiro 9ª Reunião do PBJug Grupo de Usuários Java da Paraíba This work is licensed under a  Creative Commons Attribution- NonCommercial-NoDerivs  2.5 Brazil License .   2 de setembro de 2006
Roteiro  1. Teoricamente falando... J2EE x J2SE x J2ME ??? O que é Java ME? Camadas da Java ME Alguns Recursos Importantes  O que é um MIDlet? Interface com o usuário 2. Codificando... Ambiente de Desenvolvimento “ Alo Mundo” 3. Instalando seu MIDlet Empacotando a aplicação Configurando servidor WEB Criando o site WAP
1 Teoricamente falando...
J2EE x J2SE x J2ME ??? Um pouco de história... 1995: Surgimento da linguagem Java 1999:  Lançado o Java2 (Java 1.2) Divisão das 3 plataformas: J2EE ( Java2 Enterprise Edition ) J2SE ( Java2 Standard Edition ) J2ME ( Java2 Micro Edition ) 2006: Nova nomenclatura – Falow “2”: JEE ( Java Enterprise Edition ) JSE ( Java Standard Edition ) JME ( Java Micro Edition )
J2EE x J2SE x J2ME ??? Java EE Plataforma voltada a aplicações coorporativas, no lado do servidor. Java SE Plataforma para aplicações do lado do cliente e demais aplicativos para computadores pessoais. Java ME Plataforma Java voltada ao desenvolvimento de aplicações executadas em dispositivos com limitados recursos de hardware.
O que é a Java ME? MAS ATENÇÃO!!! JME ==  Java  Micro  Edition JME  !=  Java  Mobile  Edition
Camadas da Java ME Perfil  ( profile ) Conjunto de API’s que complementa uma “configuração” para prover funcionalidades para um determinado mercado ou dispositivo. Configuração  ( configuration ) Define a Máquina Virtual e um conjunto de características básicas.
Camadas da Java ME (Configuração) CLDC –  Connected Limited Device Configuration Especifica o ambiente Java para telefones celulares, pagers e PDAs. Versões: CLDC 1.0 CLDC 1.1 CDC –  Connected Device Configuration Especifica o ambiente Java para TV Digital, dispositivos sem fio de alto nível e sistemas automotivos.
Camadas da Java ME (Perfil/CLDC) MIDP – Mobile Information Device Profile Ambiente de execução, baseados na  CLDC , para dispositivos sem fio. Versões: MIDP 1.0 MIDP 2.0 PDAP - PDA Profile   Ambiente de execução, baseados na  CLDC , especificamente para PDAs.
Camadas da Java ME (Perfil/CDC) Foundation Profile Perfil básico para dispositivos interconectados em rede, sem interface gráfica baseados na  CDC . Personal Basis Profile  e Personal Profile Suporte a gráficos para dispositivos baseados em  CDC  e Foundation.
Alguns Recursos Importantes Alguns recursos disponíveis: RMS  -  Record Management System   GCF  -  Generic Connection Framework   Principais pacotes opcionais: JABWT  -  Java API for Bluetooth WMA  -  Wireless Messaging API MMAPI  -  Mobile Media API WSA  -  J2ME Web Service API Game API Telephony   API
O que é um MIDlet? MIDlet Aplicação desenvolvida com a utilização do perfil MIDP e conseqüentemente da configuração CLDC.
O que é um MIDlet? Ciclo de Vida...
Interface com o usuário Displayable : superclasse   da   qual   derivam duas subclasses,  Screen  e  Canvas , refletindo dois níveis de abstração: Alto Nível  ( High-level  API's) Refere-se à classe  Screen  e suas subclasses:  Form ,  List ,  TextBox  and  Alert .  Baixo Nível  ( Low-level  API's) Engloba a classe  Canvas  e suas heranças. Proporcionam maior liberdade na implementação dos gráficos e eventos. Display:  classe que recebe os  Displayables . Command : comandos associados aos  Displayables.  Usados na interação entre usuário e aplicação.
Interface com o usuário Hierarquia dos principais componentes gráficos
2 Codificando...
Ambiente de Desenvolvimento JDK http:// java . sun . com/javase/downloads/index . jsp JWT (Java Wireless Toolkit) http:// java . sun . com/products/sjwtoolkit/download -2_2. html Eclipse http://www.eclipse.org/downloads/ EclipseMe http://www. eclipseme . org/updates / NetBeans http://www. netbeans . org/downloads/index . html
“ Alo Mundo” (1/2) // Bibliotecas Básicas: import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class AloMundo extends MIDlet implements CommandListener  { private Display display; private Form formPrincipal; private Command cmdSair; // Construtor: public AloMundo()  { display = Display.getDisplay(this); formPrincipal = new Form("Titulo formPrincipal"); cmdSair = new Command("Sair", Command.EXIT, 1); formPrincipal.append("Alo mundo cruel");  formPrincipal.addCommand(cmdSair); formPrincipal.setCommandListener(this); }
“ Alo Mundo” (2/2) // Método chamado na inicialização do MIDlet public void startApp() { display.setCurrent(formPrincipal); } // Método chamado quando o MIDlet é pausado public void pauseApp() {} // Método chamado quando o MIDlet é fechado public void destroyApp(boolean unconditional) {} // Método chamado quando algum command é ativado public void commandAction(Command cmd, Displayable dis)  { if (cmd == cmdSair)  { destroyApp(false); notifyDestroyed();  } } }
“ Alo Mundo”
3 Instalando seu MIDlet... (OTA – Over The Air)
1º) Empacotar aplicação Geração dos arquivos... JAR  ( Java Archive ) Arquivo compactado onde o MIDlet ficará armazenado, junto com outros arquivos adicionais. JAD  ( Java Application Descriptor )  Utilizado pelo  Java   Application Manager  para verificar se o arquivo JAR pode ser instalado no dispositivo. OBS:  Application Manager  = Software que controla os aplicativos a serem instalados, onde e como serão armazenados e como serão executados no dispositivo.
1º) Empacotar aplicação Conteúdo do arquivo JAD: MIDlet-1: AloMundo, AloMundo.png, AloMundo MIDlet-Jar-Size: 1205 MIDlet-Jar-URL: http://localhost/AloMundo.jar MIDlet-Name: AloMundo MIDlet-Vendor: Bruno MIDlet-Version: 1.0 MicroEdition-Configuration: CLDC-1.0 MicroEdition-Profile: MIDP-1.0
1º) Empacotar aplicação
2º) Criando o site WAP Criando “index.wml” <wml> <card> Alo Mundo <a href=&quot;http://localhost/AloMundo.jad&quot;> DOWNLOAD </a> </card> </wml>
3º) Configurando Servidor Web (Apache) Adicionando ao arquivo “ httpd.conf” do Apache: AddType  text/vnd.sun.j2me.app-descriptor .jad  AddType  application/java-archive .jar
 
Obrigado! Livros: Core j2Me Technology & Midp; Prentice Hall.   Programming Wireless Devices With The Java 2 Platform Micro Edition;  Addison Wesley. J2ME: The Complete Reference; McGraw-Hill. Beginning J2ME: From Novice to Professional; Apress. Bruno de Sousa Monteiro www.brunomonteiro.com [email_address]

Introducao ao J2ME

  • 1.
    Introdução a Java Micro Edition Bruno de Sousa Monteiro 9ª Reunião do PBJug Grupo de Usuários Java da Paraíba This work is licensed under a Creative Commons Attribution- NonCommercial-NoDerivs 2.5 Brazil License . 2 de setembro de 2006
  • 2.
    Roteiro 1.Teoricamente falando... J2EE x J2SE x J2ME ??? O que é Java ME? Camadas da Java ME Alguns Recursos Importantes O que é um MIDlet? Interface com o usuário 2. Codificando... Ambiente de Desenvolvimento “ Alo Mundo” 3. Instalando seu MIDlet Empacotando a aplicação Configurando servidor WEB Criando o site WAP
  • 3.
  • 4.
    J2EE x J2SEx J2ME ??? Um pouco de história... 1995: Surgimento da linguagem Java 1999: Lançado o Java2 (Java 1.2) Divisão das 3 plataformas: J2EE ( Java2 Enterprise Edition ) J2SE ( Java2 Standard Edition ) J2ME ( Java2 Micro Edition ) 2006: Nova nomenclatura – Falow “2”: JEE ( Java Enterprise Edition ) JSE ( Java Standard Edition ) JME ( Java Micro Edition )
  • 5.
    J2EE x J2SEx J2ME ??? Java EE Plataforma voltada a aplicações coorporativas, no lado do servidor. Java SE Plataforma para aplicações do lado do cliente e demais aplicativos para computadores pessoais. Java ME Plataforma Java voltada ao desenvolvimento de aplicações executadas em dispositivos com limitados recursos de hardware.
  • 6.
    O que éa Java ME? MAS ATENÇÃO!!! JME == Java Micro Edition JME != Java Mobile Edition
  • 7.
    Camadas da JavaME Perfil ( profile ) Conjunto de API’s que complementa uma “configuração” para prover funcionalidades para um determinado mercado ou dispositivo. Configuração ( configuration ) Define a Máquina Virtual e um conjunto de características básicas.
  • 8.
    Camadas da JavaME (Configuração) CLDC – Connected Limited Device Configuration Especifica o ambiente Java para telefones celulares, pagers e PDAs. Versões: CLDC 1.0 CLDC 1.1 CDC – Connected Device Configuration Especifica o ambiente Java para TV Digital, dispositivos sem fio de alto nível e sistemas automotivos.
  • 9.
    Camadas da JavaME (Perfil/CLDC) MIDP – Mobile Information Device Profile Ambiente de execução, baseados na CLDC , para dispositivos sem fio. Versões: MIDP 1.0 MIDP 2.0 PDAP - PDA Profile Ambiente de execução, baseados na CLDC , especificamente para PDAs.
  • 10.
    Camadas da JavaME (Perfil/CDC) Foundation Profile Perfil básico para dispositivos interconectados em rede, sem interface gráfica baseados na CDC . Personal Basis Profile e Personal Profile Suporte a gráficos para dispositivos baseados em CDC e Foundation.
  • 11.
    Alguns Recursos ImportantesAlguns recursos disponíveis: RMS - Record Management System GCF - Generic Connection Framework Principais pacotes opcionais: JABWT - Java API for Bluetooth WMA - Wireless Messaging API MMAPI - Mobile Media API WSA - J2ME Web Service API Game API Telephony API
  • 12.
    O que éum MIDlet? MIDlet Aplicação desenvolvida com a utilização do perfil MIDP e conseqüentemente da configuração CLDC.
  • 13.
    O que éum MIDlet? Ciclo de Vida...
  • 14.
    Interface com ousuário Displayable : superclasse da qual derivam duas subclasses, Screen e Canvas , refletindo dois níveis de abstração: Alto Nível ( High-level API's) Refere-se à classe Screen e suas subclasses: Form , List , TextBox and Alert . Baixo Nível ( Low-level API's) Engloba a classe Canvas e suas heranças. Proporcionam maior liberdade na implementação dos gráficos e eventos. Display: classe que recebe os Displayables . Command : comandos associados aos Displayables. Usados na interação entre usuário e aplicação.
  • 15.
    Interface com ousuário Hierarquia dos principais componentes gráficos
  • 16.
  • 17.
    Ambiente de DesenvolvimentoJDK http:// java . sun . com/javase/downloads/index . jsp JWT (Java Wireless Toolkit) http:// java . sun . com/products/sjwtoolkit/download -2_2. html Eclipse http://www.eclipse.org/downloads/ EclipseMe http://www. eclipseme . org/updates / NetBeans http://www. netbeans . org/downloads/index . html
  • 18.
    “ Alo Mundo”(1/2) // Bibliotecas Básicas: import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class AloMundo extends MIDlet implements CommandListener { private Display display; private Form formPrincipal; private Command cmdSair; // Construtor: public AloMundo() { display = Display.getDisplay(this); formPrincipal = new Form(&quot;Titulo formPrincipal&quot;); cmdSair = new Command(&quot;Sair&quot;, Command.EXIT, 1); formPrincipal.append(&quot;Alo mundo cruel&quot;); formPrincipal.addCommand(cmdSair); formPrincipal.setCommandListener(this); }
  • 19.
    “ Alo Mundo”(2/2) // Método chamado na inicialização do MIDlet public void startApp() { display.setCurrent(formPrincipal); } // Método chamado quando o MIDlet é pausado public void pauseApp() {} // Método chamado quando o MIDlet é fechado public void destroyApp(boolean unconditional) {} // Método chamado quando algum command é ativado public void commandAction(Command cmd, Displayable dis) { if (cmd == cmdSair) { destroyApp(false); notifyDestroyed(); } } }
  • 20.
  • 21.
    3 Instalando seuMIDlet... (OTA – Over The Air)
  • 22.
    1º) Empacotar aplicaçãoGeração dos arquivos... JAR ( Java Archive ) Arquivo compactado onde o MIDlet ficará armazenado, junto com outros arquivos adicionais. JAD ( Java Application Descriptor ) Utilizado pelo Java Application Manager para verificar se o arquivo JAR pode ser instalado no dispositivo. OBS: Application Manager = Software que controla os aplicativos a serem instalados, onde e como serão armazenados e como serão executados no dispositivo.
  • 23.
    1º) Empacotar aplicaçãoConteúdo do arquivo JAD: MIDlet-1: AloMundo, AloMundo.png, AloMundo MIDlet-Jar-Size: 1205 MIDlet-Jar-URL: http://localhost/AloMundo.jar MIDlet-Name: AloMundo MIDlet-Vendor: Bruno MIDlet-Version: 1.0 MicroEdition-Configuration: CLDC-1.0 MicroEdition-Profile: MIDP-1.0
  • 24.
  • 25.
    2º) Criando osite WAP Criando “index.wml” <wml> <card> Alo Mundo <a href=&quot;http://localhost/AloMundo.jad&quot;> DOWNLOAD </a> </card> </wml>
  • 26.
    3º) Configurando ServidorWeb (Apache) Adicionando ao arquivo “ httpd.conf” do Apache: AddType text/vnd.sun.j2me.app-descriptor .jad AddType application/java-archive .jar
  • 27.
  • 28.
    Obrigado! Livros: Corej2Me Technology & Midp; Prentice Hall. Programming Wireless Devices With The Java 2 Platform Micro Edition; Addison Wesley. J2ME: The Complete Reference; McGraw-Hill. Beginning J2ME: From Novice to Professional; Apress. Bruno de Sousa Monteiro www.brunomonteiro.com [email_address]