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...
Roteiro  <ul><li>1. Teoricamente falando... </li></ul><ul><ul><li>J2EE x J2SE x J2ME ??? </li></ul></ul><ul><ul><li>O que ...
1 Teoricamente falando...
J2EE x J2SE x J2ME ??? <ul><li>Um pouco de história... </li></ul><ul><ul><li>1995: Surgimento da linguagem Java </li></ul>...
J2EE x J2SE x J2ME ??? <ul><li>Java EE </li></ul><ul><li>Plataforma voltada a aplicações coorporativas, no lado do servido...
O que é a Java ME? <ul><li>MAS ATENÇÃO!!! </li></ul><ul><ul><li>JME ==  Java  Micro  Edition </li></ul></ul><ul><ul><li>JM...
Camadas da Java ME <ul><li>Perfil  ( profile ) </li></ul><ul><li>Conjunto de API’s que complementa uma “configuração” para...
Camadas da Java ME (Configuração) <ul><li>CLDC –  Connected Limited Device Configuration </li></ul><ul><ul><li>Especifica ...
Camadas da Java ME (Perfil/CLDC) <ul><li>MIDP – Mobile Information Device Profile </li></ul><ul><ul><li>Ambiente de execuç...
Camadas da Java ME (Perfil/CDC) <ul><li>Foundation Profile </li></ul><ul><ul><li>Perfil básico para dispositivos intercone...
Alguns Recursos Importantes <ul><li>Alguns recursos disponíveis: </li></ul><ul><ul><li>RMS  -  Record Management System   ...
O que é um MIDlet? <ul><li>MIDlet </li></ul><ul><li>Aplicação desenvolvida com a utilização do perfil MIDP e conseqüenteme...
O que é um MIDlet? <ul><li>Ciclo de Vida... </li></ul>
Interface com o usuário <ul><li>Displayable : superclasse   da   qual   derivam duas subclasses,  Screen  e  Canvas , refl...
Interface com o usuário <ul><li>Hierarquia dos principais componentes gráficos </li></ul>
2 Codificando...
Ambiente de Desenvolvimento <ul><li>JDK </li></ul><ul><ul><li>http:// java . sun . com/javase/downloads/index . jsp </li><...
“ Alo Mundo” (1/2) <ul><li>// Bibliotecas Básicas: </li></ul><ul><li>import javax.microedition.lcdui.*; </li></ul><ul><li>...
“ Alo Mundo” (2/2) <ul><li>// Método chamado na inicialização do MIDlet </li></ul><ul><li>public void startApp() { </li></...
“ Alo Mundo”
3 Instalando seu MIDlet... (OTA – Over The Air)
1º) Empacotar aplicação <ul><li>Geração dos arquivos... </li></ul><ul><ul><li>JAR  ( Java Archive ) </li></ul></ul><ul><ul...
1º) Empacotar aplicação <ul><li>Conteúdo do arquivo JAD: </li></ul><ul><li>MIDlet-1: AloMundo, AloMundo.png, AloMundo </li...
1º) Empacotar aplicação
2º) Criando o site WAP <ul><li>Criando “index.wml” </li></ul><ul><li><wml> </li></ul><ul><li><card> </li></ul><ul><li>Alo ...
3º) Configurando Servidor Web (Apache) <ul><li>Adicionando ao arquivo “ httpd.conf” do Apache: </li></ul><ul><li>AddType  ...
 
Obrigado! <ul><li>Livros: </li></ul><ul><li>Core j2Me Technology & Midp; Prentice Hall.   </li></ul><ul><li>Programming Wi...
Upcoming SlideShare
Loading in …5
×

Introducao ao J2ME

4,856
-1

Published on

Programaçao para celular usando Java

Published in: Technology, News & Politics
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
4,856
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
263
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Introducao ao J2ME

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

    Clipping is a handy way to collect important slides you want to go back to later.

×