SlideShare uma empresa Scribd logo
1 de 16
J2ME
          J2ME
 Conceitos básicos

  Leonardo Melo Santos
  leonardomelosantos@gmail.com
J2ME
Tópicos
•
•
•
    Dispositivos móveis e o mercado
    O que é J2ME?
    O que ela é capaz de fazer?
•   A plataforma Java™
•   Conceitos
    –   Configurations
    –   Profiles
    –   Profiles da CDC
    –   Profiles da CLDC
    –   Profile MIDP
    –   Conceitos da interface do J2ME
• Links interessantes
J2ME
Dispositivos móveis e o mercado

• Mercado de dispositivos móveis (celulares e
  handheld) cresce e evolui constantemente.
• Os celulares estão cada vez com mais cores,
  memória, velocidade e melhor usabilidade.
• Empresas como Nokia, Motorola, Samsung, LG e
  Qualcomm investem milhões de US$ em software
• Brasil ocupa 5ª posição entre os países com mais
  celulares no mundo (89 milhões)
• Japoneses usam celular para fazer compras,
  alugar filmes, fazer reservas em teatro, etc.
  (http://idgnow.uol.com.br/telecom/2007/03/14/idgnoticia.2007-03-13.2864066803)
J2ME
O que é J2ME?
• Uma edição do Java™ projetada para dispositivos
  com memória, vídeo e poder de processamento
  limitados (versão reduzida do J2SE com algumas
  limitações).
• Plataforma de desenvolvimento de software para
  celulares e dispositivos da Palm®.
• Tecnologia que tornou possível instalar novos
  softwares (escritos em Java™) em celulares.

Observação: Chama-se J2ME devido ao nome Java 1.2 Micro
  Edition, pois essa tecnologia nasceu quando a versão do
  Java™ era 1.2 Esse termo está sendo substituído por JME,
  assim como JSE e JEE.
J2ME
O que ela é capaz de fazer?
• Renderizar gráficos/imagens “pixel-art”, 2D e 3D.
• Armazenar dados no dispositivo (como um BD).
• Comunicar-se através de vários protocolos (HTTP,
  HTTPS, FTP, SOCKET, SOAP...)
• Comunicar-se com outros dispositivos via Bluetooth.
• Enviar e receber mensagens SMS/MMS.
• Controlar câmera e sintonizador de rádio do celular.
• Manipular transmissões de conteúdo por difusão,
  como TV digital.
• Manipular WebServices.
• Reconhecer e sintetizar voz...
J2ME
A plataforma Java™
• Standard Edition (JSE): projetada para execução
  em estações de trabalho e máquinas simples de
  computadores pessoais.
• Enterprise Edition (JEE): suporta servlets, JSP,
  XML, Struts MVC... Essa edição é destinada a
  aplicativos baseados no servidor.
• Micro Edition (JME): projetada para dispositivos
  com memória, vídeo e poder de processamento
  limitados.
J2ME
A plataforma Java™




 Imagem: http://java.sun.com
J2ME
A plataforma Java™
J2ME
Conceitos

Configurations
• Uma configuração é uma especificação de
  capacidades da plataforma subjacente (a JVM, e
  indiretamente, o hardware).
• Define os recursos da linguagem Java e as
  bibliotecas Java básicas da Máquina Virtual para
  uma configuração em particular.
• É baseada na memória, no vídeo, na
  conectividade de rede (ou limitações disto) e no
  poder de processamento do dispositivo.
• O JME possui duas principais Configurations: CDC
  e CLDC.
J2ME
Conceitos

Configurations
• Connected Limited Device Configuration (CLDC)
   – JSR 30 (v1.0) e JSR 139 (v1.1)
   – CPU de 16 ou 32 bits
   – 160KB a 512KB (128KB para executar a VM)
   – Conexões de rede lenta
   – Baixo energia, normalmente, alimentado por bateria
     (celulares)
   – CLDC 1.0 x 1.1 (versão 1.0 não suporta ponto flutuante)
• Connected Device Configuration (CDC)
   – JSR 36 (v1.0) e JSR 218 (v1.1.2)
   – CPU de 32 bits
   – Mínimo de 2MB de memória para executar a VM
   – Conexões de rede um pouco melhores que as da CLDC
   – Dispositivos um pouco “maiores” que os CLDC
     (smartphones, PDAs, pontos de terminal, sistemas de
     navegação de carro, etc.)
J2ME
Conceitos

Profiles
• Extensão de uma Configuration
• Cada Configuration possui uma “divisão
  horizontal” que diferencia os dispositivos pela sua
  aplicabilidade
   – Dispositivos de capacidade semelhantes, mas de
     utilização distinta, implementarão Profiles diferentes.
• Especificações definidas nas respectivas JSR (Java
  Specification Request)
   – Documentos formais que descrevem as tecnologias e
     as especificações propostas a serem adicionadas na
     Java™.
J2ME
Conceitos

Profiles da CDC
     Profile        Especificação                Descrição

 Foundation         v1.0: JSR 46    Dispositivos sem nenhuma capacidade
 Profile            v1.1: JSR 219   gráfica.



                    v1.0: JSR 129   Dispositivos com display simples, com
 Personal Basis
                                    suporte à AWT e parte da Java2D. É uma
 Profile            v1.1: JSR 217   versão light do Personal Profile.



                    v1.0: JSR 62    Suporte quase total às APIs do JSE 1.3 e
 Personal Profile
                    v1.1: JSR 216   alguns da JSE 1.4.
J2ME
Conceitos

Profiles da CLDC
     Profile         Especificação                      Descrição
 Mobile                                    Dispositivos móveis, com display de
                     v1.0: JSR 37          tamanho limitado. Suporta APIs de GUI
 Information
                     v2.0: JSR 118         (LCDUI), I/O e persistência (RMS). Prevê
 Device Profile
                     v3.0: JSR 271 (new)   o suporte a aplicações de voz e telefonia
 (MIDP)                                    em geral (SMS, etc.)
                                           Dispositivos sem nenhuma capacidade de
 Information                               display. É um subconjunto da MIDP, que
                     v1.0: JSR 195
 Module Profile                            basicamente não tem sues pacotes de
                                           GUI (LCDUI).

                                           Para PDAs. Inclui APIs para acesso a
 Personal Digital
                     v1.0: JSR 75          dados de informação pessoal (PIM) e para
 Assistant Profile
                                           acesso a sistemas de arquivos.

                                           API pré-J2ME JavaTV. Tem capacidades
 Digital Set Top
                     v1.0: JSR 242         como controle de sintonia ou manipulação
 Box Profile
                                           de dados de streams MPEG.
J2ME
Conceitos

Profile MIDP
• MIDP 1.0
  – Não suporta ponto flutuante.
  – Manipula conexões HTTP (sem criptografia).
  – Tamanho mínimo do heap é de 32kb....
• MIDP 2.0
  – MIDP 1.0 + junção de várias outras APIs.
  – Display: no mínimo 96x54 preto-e-branco.
  – 128kb de memória para executar os componentes MID.
  – Suporta ponto flutuante.
  – Manipula conexões HTTP e HTTPS (HTTP sobre SSL).
  – Conectividade de rede sem fio (Bluetooth).
  – Muitas melhorias na API de interface com o usuário.
  – Novas classes para tratamento de jogos e sons....
J2ME
Links interessantes
•
•
•
    Site oficial do J2ME - http://java.sun.com/javame/
    Diversos aplicativos J2ME – http://www.getjar.com/
    Livro J2ME - http://www.jasonlam604.com/books.php
•   Nokia – http://www.forum.nokia.com
•   Motorola – http://www.motocoder.com
J2ME
  Dúvidas?

Mais conteúdo relacionado

Semelhante a Curso de J2ME - Parte 01 - Conceitos básicos

Introdução ao J2ME Conexão Java 2004
Introdução ao J2ME Conexão Java 2004Introdução ao J2ME Conexão Java 2004
Introdução ao J2ME Conexão Java 2004elliando dias
 
Palestra PET.Com - Sistemas Embarcados
Palestra PET.Com - Sistemas EmbarcadosPalestra PET.Com - Sistemas Embarcados
Palestra PET.Com - Sistemas EmbarcadosPET Computação
 
Introdução a Java Micro Edition (Java ME)
Introdução a Java Micro Edition (Java ME)Introdução a Java Micro Edition (Java ME)
Introdução a Java Micro Edition (Java ME)elliando dias
 
Java Micro Edition
Java Micro EditionJava Micro Edition
Java Micro Editionjgbirk
 
Java alem das aplicacoes comerciais convencionais
Java alem das aplicacoes comerciais convencionaisJava alem das aplicacoes comerciais convencionais
Java alem das aplicacoes comerciais convencionaisLeonardo Simberg
 
Aplicativos Moveis Com J2ME
Aplicativos Moveis Com J2MEAplicativos Moveis Com J2ME
Aplicativos Moveis Com J2MEJoão Longo
 
Minicurso de TotalCross e Litebase
Minicurso de TotalCross e LitebaseMinicurso de TotalCross e Litebase
Minicurso de TotalCross e LitebaseNécio de Lima Veras
 
Apostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdfApostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdfJoberthSilva
 
Apostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdfApostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdfJoberthSilva
 
Introducao banco de dados
Introducao banco de dadosIntroducao banco de dados
Introducao banco de dadosvaniakenob
 
Netduino e .NET Micro Framework
Netduino e .NET Micro FrameworkNetduino e .NET Micro Framework
Netduino e .NET Micro FrameworkIgor Kondrasovas
 
Aplicações Móveis com J2ME
Aplicações Móveis com J2MEAplicações Móveis com J2ME
Aplicações Móveis com J2MEelliando dias
 
Desenvolvimento de Games e Aplicações para Dispositivos Móveis
Desenvolvimento de Games e Aplicações para Dispositivos MóveisDesenvolvimento de Games e Aplicações para Dispositivos Móveis
Desenvolvimento de Games e Aplicações para Dispositivos MóveisMaurílio Silva
 
Programação de Microcontroladores com .NET Micro Framework
Programação de Microcontroladores com .NET Micro FrameworkProgramação de Microcontroladores com .NET Micro Framework
Programação de Microcontroladores com .NET Micro FrameworkIgor Kondrasovas
 

Semelhante a Curso de J2ME - Parte 01 - Conceitos básicos (20)

Introdução ao J2ME Conexão Java 2004
Introdução ao J2ME Conexão Java 2004Introdução ao J2ME Conexão Java 2004
Introdução ao J2ME Conexão Java 2004
 
Palestra PET.Com - Sistemas Embarcados
Palestra PET.Com - Sistemas EmbarcadosPalestra PET.Com - Sistemas Embarcados
Palestra PET.Com - Sistemas Embarcados
 
JavaME - Aula 1
JavaME - Aula 1JavaME - Aula 1
JavaME - Aula 1
 
Introdução a Java Micro Edition (Java ME)
Introdução a Java Micro Edition (Java ME)Introdução a Java Micro Edition (Java ME)
Introdução a Java Micro Edition (Java ME)
 
Introducao ao J2ME
Introducao ao J2MEIntroducao ao J2ME
Introducao ao J2ME
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
 
Java Micro Edition
Java Micro EditionJava Micro Edition
Java Micro Edition
 
Tecnologia Java
Tecnologia JavaTecnologia Java
Tecnologia Java
 
Java alem das aplicacoes comerciais convencionais
Java alem das aplicacoes comerciais convencionaisJava alem das aplicacoes comerciais convencionais
Java alem das aplicacoes comerciais convencionais
 
Aplicativos Moveis Com J2ME
Aplicativos Moveis Com J2MEAplicativos Moveis Com J2ME
Aplicativos Moveis Com J2ME
 
Minicurso de TotalCross e Litebase
Minicurso de TotalCross e LitebaseMinicurso de TotalCross e Litebase
Minicurso de TotalCross e Litebase
 
Apostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdfApostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdf
 
Apostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdfApostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdf
 
Introducao banco de dados
Introducao banco de dadosIntroducao banco de dados
Introducao banco de dados
 
O Mundo Wireless
O Mundo WirelessO Mundo Wireless
O Mundo Wireless
 
Netduino e .NET Micro Framework
Netduino e .NET Micro FrameworkNetduino e .NET Micro Framework
Netduino e .NET Micro Framework
 
Aplicações Móveis com J2ME
Aplicações Móveis com J2MEAplicações Móveis com J2ME
Aplicações Móveis com J2ME
 
Redes2 aula02
Redes2 aula02Redes2 aula02
Redes2 aula02
 
Desenvolvimento de Games e Aplicações para Dispositivos Móveis
Desenvolvimento de Games e Aplicações para Dispositivos MóveisDesenvolvimento de Games e Aplicações para Dispositivos Móveis
Desenvolvimento de Games e Aplicações para Dispositivos Móveis
 
Programação de Microcontroladores com .NET Micro Framework
Programação de Microcontroladores com .NET Micro FrameworkProgramação de Microcontroladores com .NET Micro Framework
Programação de Microcontroladores com .NET Micro Framework
 

Mais de Leonardo Melo Santos

Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...Leonardo Melo Santos
 
Curso de OO com C# - Parte 06 - ADO.NET
Curso de OO com C# - Parte 06 - ADO.NETCurso de OO com C# - Parte 06 - ADO.NET
Curso de OO com C# - Parte 06 - ADO.NETLeonardo Melo Santos
 
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricasCurso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricasLeonardo Melo Santos
 
Curso de OO com C# - Parte 04 - Estruturas de controle e Strings
Curso de OO com C# - Parte 04 - Estruturas de controle e StringsCurso de OO com C# - Parte 04 - Estruturas de controle e Strings
Curso de OO com C# - Parte 04 - Estruturas de controle e StringsLeonardo Melo Santos
 
Curso de OO com C# - Parte 03 - Plataforma .NET
Curso de OO com C# - Parte 03 - Plataforma .NETCurso de OO com C# - Parte 03 - Plataforma .NET
Curso de OO com C# - Parte 03 - Plataforma .NETLeonardo Melo Santos
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Leonardo Melo Santos
 
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosLeonardo Melo Santos
 
Desenvolvimento de aplicações Java™ para TV Digital
Desenvolvimento de aplicações Java™ para TV DigitalDesenvolvimento de aplicações Java™ para TV Digital
Desenvolvimento de aplicações Java™ para TV DigitalLeonardo Melo Santos
 
Curso de J2ME - Parte 04 - Otimização
Curso de J2ME - Parte 04 - OtimizaçãoCurso de J2ME - Parte 04 - Otimização
Curso de J2ME - Parte 04 - OtimizaçãoLeonardo Melo Santos
 
Curso de J2ME - Parte 03 - Desenvolvimento de aplicações
Curso de J2ME - Parte 03 - Desenvolvimento de aplicaçõesCurso de J2ME - Parte 03 - Desenvolvimento de aplicações
Curso de J2ME - Parte 03 - Desenvolvimento de aplicaçõesLeonardo Melo Santos
 
Curso de J2ME - Parte 02 - Ambiente de desenvolvimento
Curso de J2ME - Parte 02 - Ambiente de desenvolvimentoCurso de J2ME - Parte 02 - Ambiente de desenvolvimento
Curso de J2ME - Parte 02 - Ambiente de desenvolvimentoLeonardo Melo Santos
 
Fundamentos de sistemas de informação
Fundamentos de sistemas de informaçãoFundamentos de sistemas de informação
Fundamentos de sistemas de informaçãoLeonardo Melo Santos
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosLeonardo Melo Santos
 
Trabalho em equipe e ética no trabalho
Trabalho em equipe e ética no trabalhoTrabalho em equipe e ética no trabalho
Trabalho em equipe e ética no trabalhoLeonardo Melo Santos
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de softwareLeonardo Melo Santos
 
Marketing pessoal e as redes sociais
Marketing pessoal e as redes sociaisMarketing pessoal e as redes sociais
Marketing pessoal e as redes sociaisLeonardo Melo Santos
 

Mais de Leonardo Melo Santos (20)

Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
 
Curso de OO com C# - Parte 06 - ADO.NET
Curso de OO com C# - Parte 06 - ADO.NETCurso de OO com C# - Parte 06 - ADO.NET
Curso de OO com C# - Parte 06 - ADO.NET
 
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricasCurso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
 
Curso de OO com C# - Parte 04 - Estruturas de controle e Strings
Curso de OO com C# - Parte 04 - Estruturas de controle e StringsCurso de OO com C# - Parte 04 - Estruturas de controle e Strings
Curso de OO com C# - Parte 04 - Estruturas de controle e Strings
 
Curso de OO com C# - Parte 03 - Plataforma .NET
Curso de OO com C# - Parte 03 - Plataforma .NETCurso de OO com C# - Parte 03 - Plataforma .NET
Curso de OO com C# - Parte 03 - Plataforma .NET
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#
 
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
 
Scrum - Visão Geral
Scrum - Visão GeralScrum - Visão Geral
Scrum - Visão Geral
 
Desenvolvimento de aplicações Java™ para TV Digital
Desenvolvimento de aplicações Java™ para TV DigitalDesenvolvimento de aplicações Java™ para TV Digital
Desenvolvimento de aplicações Java™ para TV Digital
 
Web Services XML - .NET framework
Web Services XML - .NET frameworkWeb Services XML - .NET framework
Web Services XML - .NET framework
 
DotNet Remoting - .NET framework
DotNet Remoting - .NET frameworkDotNet Remoting - .NET framework
DotNet Remoting - .NET framework
 
Curso de J2ME - Parte 04 - Otimização
Curso de J2ME - Parte 04 - OtimizaçãoCurso de J2ME - Parte 04 - Otimização
Curso de J2ME - Parte 04 - Otimização
 
Curso de J2ME - Parte 03 - Desenvolvimento de aplicações
Curso de J2ME - Parte 03 - Desenvolvimento de aplicaçõesCurso de J2ME - Parte 03 - Desenvolvimento de aplicações
Curso de J2ME - Parte 03 - Desenvolvimento de aplicações
 
Curso de J2ME - Parte 02 - Ambiente de desenvolvimento
Curso de J2ME - Parte 02 - Ambiente de desenvolvimentoCurso de J2ME - Parte 02 - Ambiente de desenvolvimento
Curso de J2ME - Parte 02 - Ambiente de desenvolvimento
 
Sistemas Workflow
Sistemas WorkflowSistemas Workflow
Sistemas Workflow
 
Fundamentos de sistemas de informação
Fundamentos de sistemas de informaçãoFundamentos de sistemas de informação
Fundamentos de sistemas de informação
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
 
Trabalho em equipe e ética no trabalho
Trabalho em equipe e ética no trabalhoTrabalho em equipe e ética no trabalho
Trabalho em equipe e ética no trabalho
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de software
 
Marketing pessoal e as redes sociais
Marketing pessoal e as redes sociaisMarketing pessoal e as redes sociais
Marketing pessoal e as redes sociais
 

Curso de J2ME - Parte 01 - Conceitos básicos

  • 1. J2ME J2ME Conceitos básicos Leonardo Melo Santos leonardomelosantos@gmail.com
  • 2. J2ME Tópicos • • • Dispositivos móveis e o mercado O que é J2ME? O que ela é capaz de fazer? • A plataforma Java™ • Conceitos – Configurations – Profiles – Profiles da CDC – Profiles da CLDC – Profile MIDP – Conceitos da interface do J2ME • Links interessantes
  • 3. J2ME Dispositivos móveis e o mercado • Mercado de dispositivos móveis (celulares e handheld) cresce e evolui constantemente. • Os celulares estão cada vez com mais cores, memória, velocidade e melhor usabilidade. • Empresas como Nokia, Motorola, Samsung, LG e Qualcomm investem milhões de US$ em software • Brasil ocupa 5ª posição entre os países com mais celulares no mundo (89 milhões) • Japoneses usam celular para fazer compras, alugar filmes, fazer reservas em teatro, etc. (http://idgnow.uol.com.br/telecom/2007/03/14/idgnoticia.2007-03-13.2864066803)
  • 4. J2ME O que é J2ME? • Uma edição do Java™ projetada para dispositivos com memória, vídeo e poder de processamento limitados (versão reduzida do J2SE com algumas limitações). • Plataforma de desenvolvimento de software para celulares e dispositivos da Palm®. • Tecnologia que tornou possível instalar novos softwares (escritos em Java™) em celulares. Observação: Chama-se J2ME devido ao nome Java 1.2 Micro Edition, pois essa tecnologia nasceu quando a versão do Java™ era 1.2 Esse termo está sendo substituído por JME, assim como JSE e JEE.
  • 5. J2ME O que ela é capaz de fazer? • Renderizar gráficos/imagens “pixel-art”, 2D e 3D. • Armazenar dados no dispositivo (como um BD). • Comunicar-se através de vários protocolos (HTTP, HTTPS, FTP, SOCKET, SOAP...) • Comunicar-se com outros dispositivos via Bluetooth. • Enviar e receber mensagens SMS/MMS. • Controlar câmera e sintonizador de rádio do celular. • Manipular transmissões de conteúdo por difusão, como TV digital. • Manipular WebServices. • Reconhecer e sintetizar voz...
  • 6. J2ME A plataforma Java™ • Standard Edition (JSE): projetada para execução em estações de trabalho e máquinas simples de computadores pessoais. • Enterprise Edition (JEE): suporta servlets, JSP, XML, Struts MVC... Essa edição é destinada a aplicativos baseados no servidor. • Micro Edition (JME): projetada para dispositivos com memória, vídeo e poder de processamento limitados.
  • 7. J2ME A plataforma Java™ Imagem: http://java.sun.com
  • 9. J2ME Conceitos Configurations • Uma configuração é uma especificação de capacidades da plataforma subjacente (a JVM, e indiretamente, o hardware). • Define os recursos da linguagem Java e as bibliotecas Java básicas da Máquina Virtual para uma configuração em particular. • É baseada na memória, no vídeo, na conectividade de rede (ou limitações disto) e no poder de processamento do dispositivo. • O JME possui duas principais Configurations: CDC e CLDC.
  • 10. J2ME Conceitos Configurations • Connected Limited Device Configuration (CLDC) – JSR 30 (v1.0) e JSR 139 (v1.1) – CPU de 16 ou 32 bits – 160KB a 512KB (128KB para executar a VM) – Conexões de rede lenta – Baixo energia, normalmente, alimentado por bateria (celulares) – CLDC 1.0 x 1.1 (versão 1.0 não suporta ponto flutuante) • Connected Device Configuration (CDC) – JSR 36 (v1.0) e JSR 218 (v1.1.2) – CPU de 32 bits – Mínimo de 2MB de memória para executar a VM – Conexões de rede um pouco melhores que as da CLDC – Dispositivos um pouco “maiores” que os CLDC (smartphones, PDAs, pontos de terminal, sistemas de navegação de carro, etc.)
  • 11. J2ME Conceitos Profiles • Extensão de uma Configuration • Cada Configuration possui uma “divisão horizontal” que diferencia os dispositivos pela sua aplicabilidade – Dispositivos de capacidade semelhantes, mas de utilização distinta, implementarão Profiles diferentes. • Especificações definidas nas respectivas JSR (Java Specification Request) – Documentos formais que descrevem as tecnologias e as especificações propostas a serem adicionadas na Java™.
  • 12. J2ME Conceitos Profiles da CDC Profile Especificação Descrição Foundation v1.0: JSR 46 Dispositivos sem nenhuma capacidade Profile v1.1: JSR 219 gráfica. v1.0: JSR 129 Dispositivos com display simples, com Personal Basis suporte à AWT e parte da Java2D. É uma Profile v1.1: JSR 217 versão light do Personal Profile. v1.0: JSR 62 Suporte quase total às APIs do JSE 1.3 e Personal Profile v1.1: JSR 216 alguns da JSE 1.4.
  • 13. J2ME Conceitos Profiles da CLDC Profile Especificação Descrição Mobile Dispositivos móveis, com display de v1.0: JSR 37 tamanho limitado. Suporta APIs de GUI Information v2.0: JSR 118 (LCDUI), I/O e persistência (RMS). Prevê Device Profile v3.0: JSR 271 (new) o suporte a aplicações de voz e telefonia (MIDP) em geral (SMS, etc.) Dispositivos sem nenhuma capacidade de Information display. É um subconjunto da MIDP, que v1.0: JSR 195 Module Profile basicamente não tem sues pacotes de GUI (LCDUI). Para PDAs. Inclui APIs para acesso a Personal Digital v1.0: JSR 75 dados de informação pessoal (PIM) e para Assistant Profile acesso a sistemas de arquivos. API pré-J2ME JavaTV. Tem capacidades Digital Set Top v1.0: JSR 242 como controle de sintonia ou manipulação Box Profile de dados de streams MPEG.
  • 14. J2ME Conceitos Profile MIDP • MIDP 1.0 – Não suporta ponto flutuante. – Manipula conexões HTTP (sem criptografia). – Tamanho mínimo do heap é de 32kb.... • MIDP 2.0 – MIDP 1.0 + junção de várias outras APIs. – Display: no mínimo 96x54 preto-e-branco. – 128kb de memória para executar os componentes MID. – Suporta ponto flutuante. – Manipula conexões HTTP e HTTPS (HTTP sobre SSL). – Conectividade de rede sem fio (Bluetooth). – Muitas melhorias na API de interface com o usuário. – Novas classes para tratamento de jogos e sons....
  • 15. J2ME Links interessantes • • • Site oficial do J2ME - http://java.sun.com/javame/ Diversos aplicativos J2ME – http://www.getjar.com/ Livro J2ME - http://www.jasonlam604.com/books.php • Nokia – http://www.forum.nokia.com • Motorola – http://www.motocoder.com