• Nenhum resultado encontrado

J2ME[JorgeDias]

N/A
N/A
Protected

Academic year: 2021

Share "J2ME[JorgeDias]"

Copied!
12
0
0

Texto

(1)

Jorge Dias Jr.

Aplicações Móveis com J2ME

2/48

Java 2 Micro Edition

Edições do Java

Java 2 Standard Edition (J2SE)

execução em máquinas simples de computadores pessoais e estações de trabalho

Java 2 Enterprise Edition (J2EE)

suporte interno para servlets, JSP e XML. É destinada a aplicativos baseados no servidor

Java 2 Micro Edition (J2ME)

Aplicações para pequenos dispositivos

Edições do Java

Motivação

Grande interesse da população por celulares e outros pequenos dispositivos

- Expandir a utilidade do celular e outros dispositivos

Tendência mundial na utilização de Java como a plataforma de desenvolvimento de

aplicações para tais dispositivos

Mercado de US$ 6 bilhões em ‘mobile games’ em 2004. Fonte: Gartner Group

Mercado de US$ 12,9 bilhões em aplicações ‘mobile office’ em 2005. Fonte: Yankee

(2)

5/48

Java 2 Micro Edition

Algumas empresas que suportam J2ME

6/48

Java 2 Micro Edition

Introdução ao J2ME

Java 2 Micro Edition: Conjunto de tecnologias e especificações voltadas para “dispositivos limitados”

–Memória

–Processamento

–Conectividade

7/48

Java 2 Micro Edition

Como colocar Java em pequenos

dispositivos?

Java Web Start Plugins Swing, AWT

JDBC

8/48

Java 2 Micro Edition

Como colocar Java em pequenos

dispositivos?

Subset do J2SE API + API complementar

+ JVM adequada

Criando-se uma JRE apropriado para as capacidades do dispositivo

(3)

9/48

Java 2 Micro Edition Organizado em:

Configurações: Define uma plataforma Java para um conjunto de dispositivos

Perfis: Define especificações de mais alto nível, específicas para dispositivos: GUI, I/O e Rede

Pacotes opcionais: APIs específicas de um determinado modelo de aparelho. Ex: Nokia, Motorola, etc.

Introdução ao J2ME

A combinação desses 3 elementos é feita satisfazendo a capacidade de memória, processamento e E/S de cada categoria de dispositivos (ex: Celulares ou Set-top Box).

10/48

Java 2 Micro Edition

Diferentes tipos de dispositivos

Set-top Box

Pager Celular

Palm

Configurações

Inclui a máquina virtual e o mínimo de classes suportada pelo dispositivo.

Foram criadas 2 configurações para abranger os vários dispositivos:

CLDC – Connected Limited Device

Configuration

Ex: Celulares, PDAs, Pagers, etc.

CDC – Connected Device Configuration

Ex: Set-top box, etc.

Sistema Operacional Máquina Virtual Java

Configuration

Configuration

Profile

CDC – Connected Device Configuration

Dispositivos de no mínimo 2MB de memória

total (RAM + ROM). Processadores com 32 bits. Algum tipo de conexão de rede. especifica o uso do Java 2 platform VM

completo, que neste contexto échamado de

Compact Virtual Machine (CVM).

Sistema Operacional Máquina Virtual Java

Configuration

Configuration

(4)

13/48

Java 2 Micro Edition CLDC – Connected Limited Device Configuration

Dispositivos de 160 KB a 512 KB de memória total.

Processadores de 16 ou 32 bits mas com um baixo poder de processamento.

Conexão de rede quase sempre wireless. Usa uma máquina virtual bem reduzida denominada KVM (Kilo Virtual Machine).

Sistema Operacional Máquina Virtual Java

Configuration

Configuration

Profile

14/48

Java 2 Micro Edition

Kilo Virtual Machine

(KVM)

Máquina virtual reduzida

Compacto, desenhado para pequenos dispositivos

Requer de 40 – 80 kilobytes de memória Somente 20 – 40 kilobytes de memória dinâmica

Pode rodar em processadores de 16 bits com clock de 25 MHz

Mais informações:

http://java.sun.com/products/kvm

Sistema Operacional

Máquina Virtual Java

Configuration

Configuration Profile

15/48

Java 2 Micro Edition

Profile (Perfil)

Fornece bibliotecas para desenvolver aplicações para um tipo particular de dispositivo.

Profile define características das aplicações, tais como: modo do ciclo de vida, interface gráfica, acesso a propriedades específicas do dispositivo.

Profiles devem ser associados a uma Configuration.

Sistema Operacional Máquina Virtual Java

Configuration

Configuration

Profile

16/48

Java 2 Micro Edition

Arquitetura usando MIDP

(5)

17/48

Java 2 Micro Edition

J2ME & MIDP

18/48

Java 2 Micro Edition Profile MIDP (Mobile Information Device Profile)

Usado com o CLDC, fornece um ambiente Java completo para desenvolvimento de aplicações móveis

Aplicações neste contexto são denominadas MIDlets

Muitos celulares já estão vindo com suporte ao MIDP

Atualmente na versão 2.0

Sistema Operacional Máquina Virtual Java

Configuration

Configuration

Profile

Características do MIDP

128 KB de memória não-volátil para Java 32 KB de memória volátil para tempo de execução

8 KB de memória não-volátil para armazenamento de dados

Uma tela de pelo menos 96 x 54 pixels Capacidade de entrada de dados

Capacidade de receber e enviar dados em conexão

Pacotes Opcionais

Está no topo da camada Profile

Oferecem APIs para usar tecnologias como: - bluetooth

- web services (KSOAP) - wireless messaging - multimidia

(6)

21/48

Java 2 Micro Edition

java.lang java.io java.util javax.microedition.io javax.microedition.lcdui javax.microedition.midlet javax.microedition.rms

Pacotes

CLDC

MIDP

22/48

Java 2 Micro Edition

MIDlets

Application Manager Ciclo de vida Midlet Básico Interface gráfica Ferramentas de desenvolvimento Arquivos do MIDlet Instalação

Persistência dos dados MIDP para PalmOS

23/48

Java 2 Micro Edition

MIDlet Básico

import javax.microedition.midlet.MIDlet;

public class UmMidlet extends MIDlet {

public UmMidlet() {} public void startApp() {} public void pauseApp() {}

public void destroyApp(boolean flag) {} }

24/48

Java 2 Micro Edition

Gerenciador de Aplicações

(Application Manager)

Controla os aplicativos a serem instalados, onde e como serão armazenados e como serão executados e removidos.

Assim que o MIDlet é invocado, a AM executa o método startApp(), colocando o midlet em estado Ativo.

Enquanto o MIDlet é executado, o mesmo pode ser pausado, a AM invoca o método pauseApp() (estado Pausado).

(7)

25/48

Java 2 Micro Edition

Ciclo de vida do MIDlet

Pausado (Paused): O Midlet encontra-se

pausado, ou seja, seu código não está sendo executado

Ativo (Active): O Midlet encontra-se em

execução

Destruído (Destroyed): O Midlet terminou sua

execução e foi encerrado pelo Application Manager

26/48

Java 2 Micro Edition

Ciclo de vida do MIDlet

Interface no MIDP

Interface simples que satisfaz a limitação de tela dos dispositivos

A Interface do MIDP foi dividida em duas partes:

- Interface de Alto nível: Objetos de interface - Interface de Baixo nível: Área livre para gráficos

Interface no MIDP (Alto nível)

MIDP fornece alguns componentes GUI limitados

– Form – Alert – Choice e ChoiceGroup – List – StringItem – TextBox – TextField – DateField – Gauge – Ticker – Image

(8)

29/48

Java 2 Micro Edition

Interface no MIDP

Apenas um componente pode ser mostrado na tela por vez

Passos:

1) Instancia objeto da classe Display 2) Declara o componente a ser utilizado 3) Declara os comandos a serem utilizados naquele componente

4) Vincula os comandos aos componentes 5) Mostra na tela o componente

30/48

Java 2 Micro Edition

Interface no MIDP

A tela do dispositivo é representado por uma instância da classe Display.

Ex: Display display = Display.getDisplay(this); Os componentes são declarados.

Ex: List list = new List(“Menu", Choice.IMPLICIT);//lista de opçoes

Ações do usuário são gerenciadas por comandos, os quais são adicionados aos componentes.

Ex:Command cmExit = new Command("Sair", Command.EXIT, 1);

list.addCommand(cmExit);

Na tela são mostrados componentes, objetos já instanciados, os quais são chamados pelo método

setCurrent().

Ex: display.setCurrent(list);

31/48

Java 2 Micro Edition

Ferramentas de Desenvolvimento

JDK 1.2 ou superior

www.java.sun.com

J2ME Wireless Toolkit

www.java.sun.com/j2me

Nokia Developer’s Suite 2.0 for J2ME

www.forum.nokia.com

Eclipse

www.eclipse.org

Plugin Antenna para o Eclipse

antenna.sourgeforge.net

32/48

Java 2 Micro Edition

Etapas no desenvolvimento de Midlets

Arquivo fonte (arquivo.java) Binário (arquivo.class) Binário pré-verificado (arquivo.class) Arquivo.jar (png + class) Arquivo.jad javac preverify jar

(9)

33/48

Java 2 Micro Edition

Passos para criação de um Midlet

1) Instalar Software

– JDK 1.2 ou mais atual, CLDC, MIDP

– JDK 1.2 ou mais atual, Toolkit

2) Configurar o Ambiente (Com toolkit, estes passos não são necessários ) 3) Escrever o MIDlet

4) Compilar MIDlet

C:\javac -d .\ -bootclasspath c:\MIDPClassPath; C:/MIDletPath HelloMIDlet.java

5) Preverificar o MIDlet

C:\preverify -classpath c:\MIDPClassPath;C:\MIDletPath HelloMIDlet.class

6) Testar o MIDlet

C:\Example\output>midp HelloMIDlet

7) Empacotar o MIDlet

C:\jar cf Hello.jar HelloMIDlet.class

8) Escrever o Arquivo Descriptor (JAD) para o MIDlet 9) Rodar o MIDlet

C:\midp -descriptor Hello.jad

34/48

Java 2 Micro Edition

Arquivos do MIDlet para Celular

Arquivo JAD

- Um ou mais MIDlets (MIDlet Suite) devem possuir apenas um arquivo JAD que contém as informações da aplicação e a referência para o arquivo JAR

Arquivo JAR

- O arquivo JAR deve conter todas as classes da aplicação e mais o arquivo manifest - O arquivo manifest tem informações sobre o empacotamento JAR (parecido com o JAD)

Arquivo JAD (Java Application Descriptor)

MIDlet-Name MIDlet-Version MIDlet-Vendor MIDlet-Jar-URL MIDlet-Jar-Size MIDlet-<n>

Arquivo de informação sobre um ou mais

MIDlets

Manifest

MIDlet-Name MIDlet-Version MIDlet-Vendor MIDlet-<n> MicroEdition-Profile MicroEdition-Configuration

(10)

37/48

Java 2 Micro Edition

Instalação do Midlet

WEB SERVER Arquivo.jar Arquivo.jad http://www.../Arquivo.jad Arquivo.jad http://www.../Arquivo.jar Arquivo.jar application/java-archive .jar JAR text/vnd.sun.j2me.app-descriptor .jad JAD MIME-TYPE EXTENSÃO TIPO 38/48

Java 2 Micro Edition

Exemplo

HelloWorld

39/48

Java 2 Micro Edition

Record Management System (RMS)

Estrutura de armazenamento simples: possui apenas um ID e um array de Bytes.

int ID byte[] dados int ID byte[] dados int ID byte[] dados

int ID byte[] dados

 Cada registro pode ser lido ou modificado

através do seu ID, o qual é retornado quando um registro é inserido.

 Pacote: javax.microedition.rms

40/48

Java 2 Micro Edition

Conexão

Para fornecer uma estrutura compatível com as limitações dos dispositivos foi criado o GCF (Generic Connection Framework)

Idéia básica: classe Connector pode criar qualquer tipo de conexão

Exemplos:

Connector.open(“http://www.josejorge.com”); Connector.open(“socket://josejorge:6000”); Connector.open(“file://arquivo.txt”);

(11)

41/48

Java 2 Micro Edition

Conexão

Classe Connector é definida na CLDC, porém a implementação real dos protocolos se dá em nível de perfil

O MIDP 1.0 possui obrigatoriamente conexão HTTP (HttpConnection)

Conexão com socket e datagrama é opcional No MIDP 2.0 o HTTPS entra no lugar do HTTP

42/48

Java 2 Micro Edition

Exemplo: J2ME/J2EE

O Midlet conecta ao servidor e chama um servlet via HTTP. Este servlet faz uma consulta ao BD e retorna o valor ao Midlet.

HTTP

BD

JDBC

Midlet

J2ME

Servlet

J2EE

MIDP para Palm OS

Midlets precisam ser convertidos (JAD/JAR para PRC)

Emulador para Palm OS (POSE) e ROMs:

www.palmos.com/

MIDP para Palm:

www.java.sun.com/products/midp4palm/

MIDP para Palm OS

MIDP4PALM

Possui o software Java para Palm OS (Java HQ). Basta transferir o arquivo MIDP.prc para o dispositivo

PRC Converter Tool

- É uma aplicação java swing que vem junto com o midp4palm

- Converte os arquivos JAD/JAR em PRC para serem instalados no Palm

(12)

45/48

Java 2 Micro Edition

MIDP para Palm OS

46/48

Java 2 Micro Edition

Sites interessantes

www.midlet.org www.microjava.com www.codeblood.com.br www.forum.nokia.com www.java.sun.com/j2me www.j2meolympus.com www.j2mepolish.org 47/48

Java 2 Micro Edition

Referências

http://www.java.sun.com/j2me

O'Reilly. J2ME in a Nutshell

MUCHOW, J. W. Core J2ME Technology & MIDP

TAYLOR, Michael. Strategies For J2ME MIDP/J2EE Integration Over HTTP

48/48

Java 2 Micro Edition

Dúvidas?

Referências

Documentos relacionados

Current Directory Interface gráfica para manipulação de arquivos e pastas Help Interface gráfica para busca e visualização

A análise das competências e tendências relacionadas ao perfil de Gestão da Inovação possibilita observar a relevância dada pelos setores produtivos a este

Conclui-se que o tratamento com dose oncológica de zoledronato reduz a perda óssea alveolar induzida pela PE, todavia, aumenta a quantidade de tecido ósseo alveolar

Java para Dispositivos Móveis - Desenvolvendo Aplicações com J2ME. Core J2ME: Tecnologia

A análise mostrou a oportunidade de (i) adoção de uma estratégia de planejamento que reflita um modelo sustentável de desenvolvimento que inclua decisões sobre o futuro da Amazônia

The analysis found that there is an opportunity to (i) enact a planning strategy that reflects a sustainable development model and includes decisions about the future of the Amazon

As ferramentas para retirada do lacre tipo &#34;porca louca&#34; e instalação dos tipos &#34;abraçadeira&#34; e &#34;metálico com fecho plástico&#34; devem ser fornecidas em

Pré-requisito: Banco de Dados I e Java Básico Vagas: Tarde: 12 – Noite: 12. Persistência de Dados