plataforma java 2 micro edition (j2me). divisões do java j2se – java standard edition – desktop...

Post on 07-Apr-2016

235 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Plataforma Java 2 Micro Edition (J2ME)

Divisões do JAVA

J2SE – java standard edition– Desktop

J2EE – Enterprise edition– Servidores

J2ME – Micro edition– Dispositivos com recursos limitados– Introduzida em 1999

Vantagens do J2ME

Programe uma vez, rode em todo lugar Linguagem de alto nível para dispositivos

móveis Portabilidade Navegue pela rede seguro Alta escalabilidade com J2SE e J2EE

Plataforma Java Micro Edition (J2ME)

Tecnologia Java para dispositivos embebidos e de consumo (PDA’s, telemóveis, impressoras, set-top-boxes de TV digital, etc.)

Específica as características da máquina virtual (JVM) e

– APIs nucleares em configurações e – APIs para aplicações ou mercados específicos em profiles

Página web: http://java.sun.com/j2me

J2ME Comité Executivo

BEA Systems Cisco Systems Ericsson IBM Insignia Matsushita (Panasonic) Motorola Nokia

Palm Philips Research In Motion Siemens Sony Sun Microsystems Texas Instruments Zucotto Wireless

Plataforma Java Micro Edition (J2ME)

Plataformas de desenvolvimento para a Nokia:

Pilha Tecnológica do J2ME

Java Application Profile

Configuration

Native OS

Device

Connected Device Configuration (CDC)

Define um ambiente de execução Java para dispositivos conectados– PDAs, Telemóveis, impressoras, set-top-

boxes, etc.– Profiles– Pacotes opcionais

Objectivo primordial:– Adaptar a tecnologia Java SE a dispositivos

embebidos (conectados)

Connected Device Configuration (CDC)

Sem GUI Reuso de código J2SE com esforço mínimo Ambientes com recursos limitados

Connected Device Configuration (CDC)

Categorias de dispositivos endereçados

Java SE versus Java CDC

Java SE Java CDC

Plataforma Java J2ME Connected, Limited Device Configuration (CLDC)

– Específica as propriedades do core da VM e os APIs para os dispositivos com desempenho limitado, conectividade à Internet limitada e intermitente, e interfaces com o utilizador restritos

– Empresas podem utilizar qualquer VM CLDC compatível que quiserem

– Exemplo: CLDC é implementado na Series 40, Series 60 e Series 80 de dispositivos da Nokia

– CLDC homepage: http://java.sun.com/products/cldc

Plataforma Java J2ME

Mobile Information Device Profile (MIDP)– Tem como alvo dispositivos de comunicação two-way que

implementem o J2ME CLDC– Endereça display e interface com o utilizador (UI),

persistência de dados, e redes (HTTP, etc.)– Exemplos: MIDP é também implementada nas Series 40,

Series 60 e Series 80 de dispositivos da Nokia– MIDP homepage: http://java.sun.com/products/midp

Plataforma Java J2ME Connected Device Configuration (CDC) e Personal Profile

– Series 80, plataforma de desenvolvimento 2.0, também implementa

J2ME CDC em adição ao J2ME MIDP CDC/Personal Profile permite o desenvolvimento de aplicações mais

do tipo desktop, incluindo o acesso a métodos nativos via Java Native Interface (JNI)

– Series 80, plataforma de desenvolvimento 2.0, implementa CDC/Personal Profile com a Máquina Virtual IBM J9

CDC/Personal Profile– homepage: http://java.sun.com/products/cdc

Configurações J2ME

Connected Device Configuration (CDC)– 2 a 16 MB– dispositivos CDC podem ser ligados por fios– set-top boxes para TV digital, dispositivos wireless mais sofisticados– Compact Virtual Machine (CVM)

Connected Limited Device Configuration (CLDC)– 160 kB a 512 kB de memória total– Processador de 16- ou de 32-bits– Dispositivos CLDC são normalmente wireless com largura de banda

limitada (normalmente 9600 bits ou menos)– Telemóveis, Pagers, PDAs, etc.– Kilo Virtual Machine (KVM)

Mobile Information Device Profile 1.0 (MIDP 1.0)

Características:

– 128 KB de memória não-volátil para a implementação MIDP

– 32 KB de memória volátil para o heap– 8 KB de memória não-volátil para dados

persistentes– Um ecrã de pelo menos 96 x 54 píxeis– Alguma capacidade para introdução de dados

Teclado, ecrã táctil,…– Conexão em rede two-way, possivelmente

intermitente

Introdução às MIDlets

Aplicações Java para serem executadas no contexto MIDP

MIDlet

“Aplicação Java em concordância com as especificações do CLDC e do MIDP.”

Desenvolvendo MIDlets

São executadas sempre do lado do cliente As MIDlets têm um interface com o utilizador

bastante sofisticado, permitem o armazenamento local de dados, e o acesso a dados remotamente

Todas as MIDlets têm de extender a classe:– javax.microedition.midlet.MIDlet

O grupo de MIDlets que constituem uma MIDlet suite (incluindo outros recursos) é distribuída segundo um arquivo JAR

Java Application Descriptor (JAD): descreve o arquivo JAR

Desenvolvendo MIDlets

Java Application Manager (JAM)

O JAM é responsável por:– carregar o código através de uma conexão sem-fios, por

exemplo– Indicar o local no dispositivo onde esse código deve ser

guardado– Definir o modo como o utilizador pode lançar a aplicação

O JAM guarda a aplicação no dispositivo e em seguida apresenta as MIDlets dessa aplicação selecionáveis para execução

A especificação do MIDP define vagamente que o dispositivo tem de incluir um gestor de aplicações JAM

Ciclo de Vida de uma MIDlet

Estado Paused: quando a MIDlet é seleccionada para execução

Estado Active: a MIDlet entra neste estado depois do gestor de aplicações invocar o método startApp()

Estado Destroyed: o gestor de aplicações pode terminar a execução da MIDlet invocando o método destroyApp(), neste ponto a MIDlet é “destruída” e é esperado o GC

Ciclo de Vida de uma MIDlet

import javax.microedition.midlet.*;import javax.microedition.lcdui.*;

public class myFirstMIDlet extends MIDlet { //obrigatorio public void startApp() { } //obrigatorio public void pauseApp() { } //obrigatorio public void destroyApp(boolean unconditional) { } }

Bibliotecas: APIs

CLDC java.lang java.io java.util javax.microedition.io

MIDP javax.microedition.lcdui javax.microedition.midlet javax.microedition.rms

Diagrama

MIDlet Passos de Desenvolvimento

Escrever o código da MIDlet Compilar a MIDlet Pré-verificação das classes da MIDlet Ofuscação das classes da MIDlet (se necessário) Empacotamento num arquivo JAR Criação da JAD (Java Application Descriptor) Carregar e executar a aplicação no emulador ou no dispositivo

Verificação das Class Files

Verificação dos bytecodes é um dos conceitos fundamentais do modelo de segurança do Java

Antes do carregamento de uma class (pelo class loader), o verificador de bytecodes analisa a classe de modo a verificar que a estrutura e comportamento estão de acordo com o esperado.

Exemplo: – o verificador no J2SE precisa de um mínimo de 50 KB de

espaço para o código binário, e pelo menos 30-100 KB de RAM dinâmica na execução

– Em adição, o desempenho do CPU necessário para as verificações em tempo-real pode ser significativo

Verificação das Class Files

Para agilizar a etapa de verificação das MIDlets– Existe uma etapa de pré-verificação– Nesta etapa são realizadas as verificações possíveis

de efetuar estaticamente

Verificação das Class Files

Verificação de bytecodes em duas etapas é definida pelo CLDC e trabalha do seguinte modo:

1. As Class Files são verificadas antes da instalação no dispositivo

2. A segunda etapa de verificação é executada no dispositivo aquando do carregamento das classes e durante a execução dos bytecodesClasses não verificadas em (2) são rejeitadas.

Este novo verificador requer cerca de 10 KB de código binário e menos de 100 bytes de RAM dinâmica em tempo-real

MIDlets

Acesso ao Display da MIDlet– Display.getDisplay(this)

Comandos de Interacção com o utilizador– Associar um gestor de eventos ao Display– Gestor deve implementar a interface

CommandListener– Acções relacionadas com a gestão de eventos:

commandAction()

MIDlets

Dados remotos– Connector.open(http://...);

Dados locais– store = RecordStore.openRecordStore("DataStore",

true); – store.closeRecordStore(); – RecordStore.deleteRecordStore("DataStore");

Dados em arquivos (e.g., cartão de memória do dispositivos)– Connector.open("file:///E:/rcs/file.txt",

Connector.WRITE);

Processo de carregamento de uma MIDlet

MIDlets

A tendência é para que sejam cada vez mais inovadoras, de maior complexidade computacional

J2ME Wireless Development Kit

J2ME Wireless Development Kit

Ambiente de desenvolvimento de MIDlets

– Compilador, ofuscador– Emuladores– Profiling e monitorização de memória

J2ME Wireless Development Kit

Instale o Eclipse Coloque os plugins do EclipseME na pasta

do eclipse Instale o Sun Java Wireless Toolkit Siga os procedimentos do Tutorial

(www/~mbaj/IM/Tutorial J2ME.pdf)

Exercícios

Altere o código exemplo1 para que ao pressionar o softkey esquerdo, apareca uma mensagem na tela e ao pressionar o softkey direito o aplicativo feche.

Altere o código exemplo2 para que uma firgura primitiva da classe Canvas (triangulo, circulo etc) mova nas direcionais do dispositivo.

top related