SlideShare a Scribd company logo
1 of 43
Download to read offline
Introdução a
Java Micro Edition
    (Java ME)

 Anderson Vasconcelos dos
                   Santos
                  Aula 1
Agenda
• Mercado Mobile
• Dispositivos Mobile
• Aplicações Mobile
• Arquitetura Java ME
• MIDLET
Mercado Mobile
• Existem hoje milhares de
  dispositivos móveis
• No mundo são mais de 2,5
  bilhões de aparelhos celulares
• O mercado de dispositivos
  móveis movimenta cerca de 100
  bilhões de dólares por ano
Mercado Mobile
• O mercado de jogos para celular
  movimentou mais de 1 bilhão de
  dólares nos Estados Unidos em
  2006
• Este mercado cresce 18% ao ano
• Em 2008 o mercado mundial de
  jogos para celular movimentará 8
  bilhões de dólares
Mercado Mobile
• No Brasil há hoje mais de 100
  milhões de celulares em
  operação
• O Brasil é o sexto maior mercado
  do mundo em celulares
• O mercado de jogos para
  celulares no Brasil, movimentou
  30 milhões em 2006
Mercado Mobile
• Há hoje uma disseminação massiva de
  celulares, smartphones, pdas.
• Com o blackberry (por exemplo) pode-se:
   – Visualizar emails, planilhas, documentos
   – Fazer reuniões usando o MSN
   – Gerenciar suas fotos usando o Picasa
     Mobile
   – Ver suas noticias preferidas com o
     Netvibes Mobile
Mercado Mobile
• As vendas de smartphones no
  Brasil tiveram um crescimento
  de 140%
• No mundo a taxa de crescimento
  média será de 28% nos
  próximos 5 anos
Mercado Mobile
• Cada vez mais empresas como a
  Apple, SonyEricsoon, Nokia,
  investem em tecnologia para
  dispositivo móveis
• Os celulares, pdas e
  smartphones, a cada dia estão
  com um maior poder de
  processamento
Mercado Mobile
• Com a popularização dos dispositivos
  móveis surge a necessidade de
  aplicações para essa grande massa
  de consumidores
• Segundo a InfoExame de setembro
  de 2007, o desenvolvimento de
  aplicações para dispositivos móveis é
  algo bastante promissor
Tipos de Dispositivos
• Celulares
• PDA´s (Personal Digital Assistence)
  –Palm
  –PocketPC
• Smartphones
  –Symbian
  –Window Mobile
  –Palm
  –BlackBerry
Tipos de Aplicações
• Jogos 2D e 3D
• Aplicações Corporativas, com
  conexão a servidores web
• Aplicações Corporativas off-line
• Aplicações que gerenciam o
  conteúdo do dispositivo.
Tipos de Aplicações
• Aplicações que usam tecnologias
  específicas do dispositivo
  –Bluetooth
  –GPS
  –Captura de Imagem, Vídeo e
    Som
O que é Java ME
O que é Java ME
• Java ME é uma coleção de
  tecnologias e especificações
  (JSRs)
• Java ME usa um subconjuntos de
  componentes Java SE, tais como
  maquinas virtuais menores e
  APIs mais enxutas
Arquitetura Java ME
• KVM
• Configurations
   –CDC
   –CLDC
• Profiles
   –MIDP 1.0, 2.0 e 3.0
• Pacotes Opcionais
• JTWI e MSA
KVM
• Kilobyte Virtual Machine
• Utilizada em dispositivos mais
  limitados para a configuração CLDC
• Ela não possui todos os recursos da
  JVM, porém executa em um sistema
  de 16 a 32 bits e um total de 160 Kb
  a 512 Kb de memória
Configurations
• Fornece um ambiente Java
  completo.
• O conjunto de classes é pequeno
  e deve ser estendido por perfis.
  Não implementa classes de
  interface com o usuário.
Configurations
• Uma configuração é divida em:
  –Código proprietário que faz
   interface com o sistema
   provido pelo dispositivo
  –Um conjunto de APIs básicas
   (subjconjunto da Java SE)
CDC
• Connected Device Configuration
• Utilizada em dispositivos com
  maior capacidade de
  processamento e memória
• Presente em PDAs, smartphones
• Suporta Ponto Flutuante
CLDC
• Connected Limited Device
  Configuration
• Utilizada em dispositivos com
  recursos limitados de
  processamento e memória
• Presente em celulares, pagers
  entre outros.
CLDC

• CLDC 1.0 Não suporta Ponto
  Flutuante
• CLDC 1.1 Suporta Ponto
  Flutuante
Java SE X CDC X CLDC
Profiles
• São mais específicas que as
  configurações
• Provêem um conjunto de APIs
  para auxiliar o desenvolvimento
  de aplicações
Profiles
• Tipos:
  –Foundation Profile: usado em
    dispositivos que possuem CDC
  –MIDP: usado em dispositivos
    que possuem CLDC
Profiles
–Information Module Profile
 (IMP): subset do MIDP, para
 dispositivos sem capacidade
 gráfica
–Personal Profile (PP):
 dispositivos com capacidades
 gráficas avançadas
MIDP
• Mobile Information Device Profile
• Prove um conjunto de APIs que
  podem ser utilizadas no
  dispositivo
• MIDP 1.0
• MIDP 2.0
• MIDP 3.0
MIDP 1.0
• Prove API para manipulação de
  –UI
  –Conexão HTTP, e Socket
  –RMS
MIDP 2.0
• Evolução do MIDP 1.0, trazendo
  APIs adicionais, para facilitar o
  desenvolvimento de aplicações
• GameAPI
• Media
• HttpsConnection
• Push-Registry
MIDP 3.0
• Traz um conjunto de APIs para
  facilitar ainda mais o
  desenvolvimento
• Pode se ter várias MIDLETs na
  mesma aplicação
• Jogos mais ricos
• Melhorias nas parte de UI e de
  RMS
Pacotes Opcionais
• São bibliotecas para o
  desenvolvimento de funções
  específicas.
• O desenvolvedor escolhe qual pacote
  irá utilizar
• São bibliotecas, que, em geral,
  dependem de recursos presentes em
  dispositivos específicos (Bluetooth,
  Suporte a 3d....)
Pacotes Opcionais

• JSR-75: PDA Profile for J2ME
• JSR-120: WMA - Wireless
  Messaging API
• JSR-135: MMAPI - Mobile Media
  API
• JSR-172: WSA - Web Services
• JSR-179: Location API
Pacotes Opcionais

• JSR-184: M3G - Mobile 3D
  Graphics API
• JSR-229: Payment API
• JSR-172: JAXP XML Parser
• JSR-226: Scalable 2D Vector
  Graphics API
JTWI
• JSR 185 - Java Technology for
  the Wireless Industry
• Tentativa resolver:
   –Fragmentação do Mercado
   –Diferenças de implementações
    entre os fabricantes
MSA
• JSR248 - Mobile Service
  Architecture
• Evolução do JTWI
• Engloba especificações mais
  recentes e nova realidade dos
  celulares
MSA
MSA
Lista de Dispositivos e Suas
       Configurações

• Lista de Dispositivos
MIDLET
• São aplicações escritas para o
  perfil MIDP.
• Deve estender
  javax.microedition.midlet.MIDlet
• São distribuídas em JARs, similar
  a distribuição JavaSE
MIDLET
• MIDLET SUITE:
  –JAR que possui mais de uma
   MIDLET
  –As midlets do JAR, podem
   compartilhar recursos e classes
   dentro do mesmo JAR
MIDLET
• Dentro do JAR que contém a
  MIDLET deve haver o arquivo
  manifesto.
• Além do Manifesto é
  acompanhado ao JAR o descritor
  da aplicação(JAD).
MIDLET
• Nos descritores, são definidos os
  atributos da aplicação como:
  –MIDlet-Name
  –MIDlet-Version
  –MIDlet-Icon
  –MicroEdition-Profile
  –MicroEdition-Configuration
MIDLET- Ciclo de Vida
Bibliografia
• http://tinyurl.com/2v8lq6
• http://tinyurl.com/35pm8v
• Muchow, John W. “Core J2me -
  Tecnologia & Midp”. Editora
  MAKRON BOOKS

More Related Content

What's hot

Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
Abnel Junior
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
elliando dias
 
0770 Dispositivos e Periféricos
0770 Dispositivos e Periféricos 0770 Dispositivos e Periféricos
0770 Dispositivos e Periféricos
Ribeiro Lelia
 
Java para dispositivos móveis
Java para dispositivos móveisJava para dispositivos móveis
Java para dispositivos móveis
João Gabriel Lima
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
Rodrigo Rodrigues
 

What's hot (20)

Fundamentos de banco de dados 01 indrodução
Fundamentos de banco de dados   01 indroduçãoFundamentos de banco de dados   01 indrodução
Fundamentos de banco de dados 01 indrodução
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
 
Análise e Projeto de Sistemas
Análise e Projeto de SistemasAnálise e Projeto de Sistemas
Análise e Projeto de Sistemas
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
 
Tipos de Servidores
Tipos de ServidoresTipos de Servidores
Tipos de Servidores
 
Aula 3 - Sistemas operacionais - Linux
Aula 3 - Sistemas operacionais - LinuxAula 3 - Sistemas operacionais - Linux
Aula 3 - Sistemas operacionais - Linux
 
Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de Programação
 
0770 Dispositivos e Periféricos
0770 Dispositivos e Periféricos 0770 Dispositivos e Periféricos
0770 Dispositivos e Periféricos
 
Java para dispositivos móveis
Java para dispositivos móveisJava para dispositivos móveis
Java para dispositivos móveis
 
Projeto e Desenvolvimento de Software
Projeto e Desenvolvimento de SoftwareProjeto e Desenvolvimento de Software
Projeto e Desenvolvimento de Software
 
Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
Modelagem de Dados
Modelagem de DadosModelagem de Dados
Modelagem de Dados
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
Aula 12 instalação de hardware
Aula 12 instalação de hardwareAula 12 instalação de hardware
Aula 12 instalação de hardware
 
Aula 2 - Introdução a Banco de Dados
Aula 2 - Introdução a Banco de DadosAula 2 - Introdução a Banco de Dados
Aula 2 - Introdução a Banco de Dados
 

Similar to Introdução a Java Micro Edition (Java ME)

Java EE netbeans
Java EE netbeansJava EE netbeans
Java EE netbeans
Reuel Lopes
 
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
Juarez Junior
 
Aplicações Móveis com J2ME
Aplicações Móveis com J2MEAplicações Móveis com J2ME
Aplicações Móveis com J2ME
elliando dias
 
Tutorial: Desenvolvimento de aplicacoes moveis com Java
Tutorial: Desenvolvimento de aplicacoes moveis com JavaTutorial: Desenvolvimento de aplicacoes moveis com Java
Tutorial: Desenvolvimento de aplicacoes moveis com Java
Paulo César M Jeveaux
 
Desenvolvimento de Aplicações Móveis em Java - Parte 1
Desenvolvimento de Aplicações Móveis em Java - Parte 1Desenvolvimento de Aplicações Móveis em Java - Parte 1
Desenvolvimento de Aplicações Móveis em Java - Parte 1
Waldir R. Pires Jr
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Carlos Eugenio Torres
 
18804691 java-for-s60-java-me-and-msa-for-smart-phones
18804691 java-for-s60-java-me-and-msa-for-smart-phones18804691 java-for-s60-java-me-and-msa-for-smart-phones
18804691 java-for-s60-java-me-and-msa-for-smart-phones
Juarez Junior
 
Desenvolvimento aplicacoesdispositivosmoveis
Desenvolvimento aplicacoesdispositivosmoveisDesenvolvimento aplicacoesdispositivosmoveis
Desenvolvimento aplicacoesdispositivosmoveis
Juarez Junior
 
18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis
18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis
18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis
Juarez Junior
 
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
elliando dias
 

Similar to Introdução a Java Micro Edition (Java ME) (20)

O Mundo Wireless
O Mundo WirelessO Mundo Wireless
O Mundo Wireless
 
Introdução a Programação de Dispositivos Móveis
Introdução a Programação de Dispositivos MóveisIntrodução a Programação de Dispositivos Móveis
Introdução a Programação de Dispositivos Móveis
 
Java EE netbeans
Java EE netbeansJava EE netbeans
Java EE netbeans
 
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
 
Aplicações Móveis com J2ME
Aplicações Móveis com J2MEAplicações Móveis com J2ME
Aplicações Móveis com J2ME
 
Introdução a JavaME
Introdução a JavaMEIntrodução a JavaME
Introdução a JavaME
 
Apresentacao jornada-unesp-2011
Apresentacao jornada-unesp-2011Apresentacao jornada-unesp-2011
Apresentacao jornada-unesp-2011
 
Minicurso Java Me
Minicurso Java MeMinicurso Java Me
Minicurso Java Me
 
Tutorial: Desenvolvimento de aplicacoes moveis com Java
Tutorial: Desenvolvimento de aplicacoes moveis com JavaTutorial: Desenvolvimento de aplicacoes moveis com Java
Tutorial: Desenvolvimento de aplicacoes moveis com Java
 
Curso de J2ME - Parte 01 - Conceitos básicos
Curso de J2ME - Parte 01 - Conceitos básicosCurso de J2ME - Parte 01 - Conceitos básicos
Curso de J2ME - Parte 01 - Conceitos básicos
 
Desenvolvimento de Aplicações Móveis em Java - Parte 1
Desenvolvimento de Aplicações Móveis em Java - Parte 1Desenvolvimento de Aplicações Móveis em Java - Parte 1
Desenvolvimento de Aplicações Móveis em Java - Parte 1
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
 
Py S60
Py S60Py S60
Py S60
 
18804691 java-for-s60-java-me-and-msa-for-smart-phones
18804691 java-for-s60-java-me-and-msa-for-smart-phones18804691 java-for-s60-java-me-and-msa-for-smart-phones
18804691 java-for-s60-java-me-and-msa-for-smart-phones
 
Desenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaDesenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em Java
 
Desenvolvimento aplicacoesdispositivosmoveis
Desenvolvimento aplicacoesdispositivosmoveisDesenvolvimento aplicacoesdispositivosmoveis
Desenvolvimento aplicacoesdispositivosmoveis
 
18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis
18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis
18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis
 
Desenvolvimento 3G
Desenvolvimento 3GDesenvolvimento 3G
Desenvolvimento 3G
 
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
 
Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android Nooclix
 

More from elliando dias

Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
elliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
elliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
elliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
elliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
elliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
elliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
elliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
elliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
elliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
elliando dias
 

More from elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Introdução a Java Micro Edition (Java ME)

  • 1. Introdução a Java Micro Edition (Java ME) Anderson Vasconcelos dos Santos Aula 1
  • 2. Agenda • Mercado Mobile • Dispositivos Mobile • Aplicações Mobile • Arquitetura Java ME • MIDLET
  • 3. Mercado Mobile • Existem hoje milhares de dispositivos móveis • No mundo são mais de 2,5 bilhões de aparelhos celulares • O mercado de dispositivos móveis movimenta cerca de 100 bilhões de dólares por ano
  • 4. Mercado Mobile • O mercado de jogos para celular movimentou mais de 1 bilhão de dólares nos Estados Unidos em 2006 • Este mercado cresce 18% ao ano • Em 2008 o mercado mundial de jogos para celular movimentará 8 bilhões de dólares
  • 5. Mercado Mobile • No Brasil há hoje mais de 100 milhões de celulares em operação • O Brasil é o sexto maior mercado do mundo em celulares • O mercado de jogos para celulares no Brasil, movimentou 30 milhões em 2006
  • 6. Mercado Mobile • Há hoje uma disseminação massiva de celulares, smartphones, pdas. • Com o blackberry (por exemplo) pode-se: – Visualizar emails, planilhas, documentos – Fazer reuniões usando o MSN – Gerenciar suas fotos usando o Picasa Mobile – Ver suas noticias preferidas com o Netvibes Mobile
  • 7. Mercado Mobile • As vendas de smartphones no Brasil tiveram um crescimento de 140% • No mundo a taxa de crescimento média será de 28% nos próximos 5 anos
  • 8. Mercado Mobile • Cada vez mais empresas como a Apple, SonyEricsoon, Nokia, investem em tecnologia para dispositivo móveis • Os celulares, pdas e smartphones, a cada dia estão com um maior poder de processamento
  • 9. Mercado Mobile • Com a popularização dos dispositivos móveis surge a necessidade de aplicações para essa grande massa de consumidores • Segundo a InfoExame de setembro de 2007, o desenvolvimento de aplicações para dispositivos móveis é algo bastante promissor
  • 10. Tipos de Dispositivos • Celulares • PDA´s (Personal Digital Assistence) –Palm –PocketPC • Smartphones –Symbian –Window Mobile –Palm –BlackBerry
  • 11. Tipos de Aplicações • Jogos 2D e 3D • Aplicações Corporativas, com conexão a servidores web • Aplicações Corporativas off-line • Aplicações que gerenciam o conteúdo do dispositivo.
  • 12. Tipos de Aplicações • Aplicações que usam tecnologias específicas do dispositivo –Bluetooth –GPS –Captura de Imagem, Vídeo e Som
  • 13. O que é Java ME
  • 14. O que é Java ME • Java ME é uma coleção de tecnologias e especificações (JSRs) • Java ME usa um subconjuntos de componentes Java SE, tais como maquinas virtuais menores e APIs mais enxutas
  • 15. Arquitetura Java ME • KVM • Configurations –CDC –CLDC • Profiles –MIDP 1.0, 2.0 e 3.0 • Pacotes Opcionais • JTWI e MSA
  • 16. KVM • Kilobyte Virtual Machine • Utilizada em dispositivos mais limitados para a configuração CLDC • Ela não possui todos os recursos da JVM, porém executa em um sistema de 16 a 32 bits e um total de 160 Kb a 512 Kb de memória
  • 17. Configurations • Fornece um ambiente Java completo. • O conjunto de classes é pequeno e deve ser estendido por perfis. Não implementa classes de interface com o usuário.
  • 18. Configurations • Uma configuração é divida em: –Código proprietário que faz interface com o sistema provido pelo dispositivo –Um conjunto de APIs básicas (subjconjunto da Java SE)
  • 19. CDC • Connected Device Configuration • Utilizada em dispositivos com maior capacidade de processamento e memória • Presente em PDAs, smartphones • Suporta Ponto Flutuante
  • 20. CLDC • Connected Limited Device Configuration • Utilizada em dispositivos com recursos limitados de processamento e memória • Presente em celulares, pagers entre outros.
  • 21. CLDC • CLDC 1.0 Não suporta Ponto Flutuante • CLDC 1.1 Suporta Ponto Flutuante
  • 22. Java SE X CDC X CLDC
  • 23. Profiles • São mais específicas que as configurações • Provêem um conjunto de APIs para auxiliar o desenvolvimento de aplicações
  • 24. Profiles • Tipos: –Foundation Profile: usado em dispositivos que possuem CDC –MIDP: usado em dispositivos que possuem CLDC
  • 25. Profiles –Information Module Profile (IMP): subset do MIDP, para dispositivos sem capacidade gráfica –Personal Profile (PP): dispositivos com capacidades gráficas avançadas
  • 26. MIDP • Mobile Information Device Profile • Prove um conjunto de APIs que podem ser utilizadas no dispositivo • MIDP 1.0 • MIDP 2.0 • MIDP 3.0
  • 27. MIDP 1.0 • Prove API para manipulação de –UI –Conexão HTTP, e Socket –RMS
  • 28. MIDP 2.0 • Evolução do MIDP 1.0, trazendo APIs adicionais, para facilitar o desenvolvimento de aplicações • GameAPI • Media • HttpsConnection • Push-Registry
  • 29. MIDP 3.0 • Traz um conjunto de APIs para facilitar ainda mais o desenvolvimento • Pode se ter várias MIDLETs na mesma aplicação • Jogos mais ricos • Melhorias nas parte de UI e de RMS
  • 30. Pacotes Opcionais • São bibliotecas para o desenvolvimento de funções específicas. • O desenvolvedor escolhe qual pacote irá utilizar • São bibliotecas, que, em geral, dependem de recursos presentes em dispositivos específicos (Bluetooth, Suporte a 3d....)
  • 31. Pacotes Opcionais • JSR-75: PDA Profile for J2ME • JSR-120: WMA - Wireless Messaging API • JSR-135: MMAPI - Mobile Media API • JSR-172: WSA - Web Services • JSR-179: Location API
  • 32. Pacotes Opcionais • JSR-184: M3G - Mobile 3D Graphics API • JSR-229: Payment API • JSR-172: JAXP XML Parser • JSR-226: Scalable 2D Vector Graphics API
  • 33. JTWI • JSR 185 - Java Technology for the Wireless Industry • Tentativa resolver: –Fragmentação do Mercado –Diferenças de implementações entre os fabricantes
  • 34. MSA • JSR248 - Mobile Service Architecture • Evolução do JTWI • Engloba especificações mais recentes e nova realidade dos celulares
  • 35. MSA
  • 36. MSA
  • 37. Lista de Dispositivos e Suas Configurações • Lista de Dispositivos
  • 38. MIDLET • São aplicações escritas para o perfil MIDP. • Deve estender javax.microedition.midlet.MIDlet • São distribuídas em JARs, similar a distribuição JavaSE
  • 39. MIDLET • MIDLET SUITE: –JAR que possui mais de uma MIDLET –As midlets do JAR, podem compartilhar recursos e classes dentro do mesmo JAR
  • 40. MIDLET • Dentro do JAR que contém a MIDLET deve haver o arquivo manifesto. • Além do Manifesto é acompanhado ao JAR o descritor da aplicação(JAD).
  • 41. MIDLET • Nos descritores, são definidos os atributos da aplicação como: –MIDlet-Name –MIDlet-Version –MIDlet-Icon –MicroEdition-Profile –MicroEdition-Configuration
  • 43. Bibliografia • http://tinyurl.com/2v8lq6 • http://tinyurl.com/35pm8v • Muchow, John W. “Core J2me - Tecnologia & Midp”. Editora MAKRON BOOKS