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

Preview:

DESCRIPTION

 

Citation preview

Anderson Vasconcelos dos Santos

Aula 1

Introdução a Java Micro Edition

(Java ME)

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

Recommended