Linguagem de Programação IV MIDP
Prof. Alessandro Borges
Tópicos
Requisitos de hardware e software
Arquitetura do perfil MID
O conjunto de MIDlets
2
MIDP
Mobile Information Device Profile
3
Requisitos de hardware e software
4
Requisitos de hardware e software
Hardware
A tela deve suportar pelo menos 96 x 54 pixels;
Deve haver pelo menos um tipo de entrada de usuário disponível;
Teclado de telefone / teclado QWERTY / tela de toque.
128 KB de memória não volátil para executar os componentes MID;
Pelo menos 8 KB de memória não volátil para os aplicativos armazenarem dados persistentes, como configurações e dados do aplicativo;
32 KB de memória volátil (RAM) para executar o Java;
5
Requisitos de hardware e software
Software
SO deve fornecer “agendamento” mínimo, tratamento de exceções e processamento de interrupções;
O software deve suportar escrita de elemento gráficos bitmap na tela;
O software deve aceitar entradas e passar as informações para a JVM;
Recursos para ler e gravar em memória não volátil;
Não há requisito para sistema de arquivo. Dados persistentes devem ser gravados em memória não volátil.
Acesso para os recursos de interligação em redes.
6
Arquitetura do perfil MID
7
Arquitetura do perfil MID
Aplicativos MIDP
Aplicativos
específicos do OEM
Aplicativos nativos
MIDP (perfil de dispositivo de informação móvel
Classes específicas
do OEM
CLDC (configuração de dispositivo conectado limitado)
Sistema operacional nativo
MID (dispositivo de informação móvel)
8
Hardware – MID (base da figura).
Sistema Operacional nativo (segunda camada).
Aplicativos nativos – ex: configuração do aparelho (toque, volume, data...).
CLDC – instalada no SO nativo e é a base do MIDP.
Note que os aplicativos MIDP têm acesso às bibliotecas CLDC e MIDP.
Arquitetura do perfil MID
9
Classes específicas de OEM (Original Equipment
Manufacturer – fabricante de equipamento original) são fornecidos pelo fabricante do dispositivo.
Ex: pesquisar entradas em uma agenda telefônica
Classes específicas do dispositivo – não há portabilidade
Aplicativos específicos do OEM podem acessar APIs MIDP e/ou classes específicas do OEM
No segundo caso, os aplicativos não serão portáveis para outros dispositivos
Arquitetura do perfil MID
10
APIs adicionadas pelo MIDP:
Suporte a ciclo de vida de aplicações, de maneira similar a como os applets são definidos no J2SE.
Armazenamento persistente de dados;
Conectividade de rede baseada em HTTP, construída sob o GCF do CLDC;
Suporte simples à interface com o usuário
Seu ponto de entrada é uma classe que estende a classe
javax.microedition.midlet.MIDlet
Arquitetura do perfil MID
11
Versões do MIDP
MIDP 1.1 (2000)
HTTP, GUI 96X54 pixels, persistência (8KB não volátil)
MIDP 2.0 (2002)
HTTPS, Games, API, multimídia (sons) e outros
MIDP 3.0 (2007)
Arquitetura do perfil MID
12
O conjunto de MIDlets
13
O conjunto de MIDlets
Uma MIDlet é um aplicativo Java projetado para dispositivo móvel.
Tem como classes Java básicas a CDLC e o MIDP.
Um conjunto de MIDlets consiste em uma ou mais
MIDlets empacotadas usando um arquivo JAR (Java Archive).
14
O conjunto de MIDlets
Ambiente de tempo de execução e Gerenciamento de Aplicativos
O Gerenciador de Aplicativos (GA - Application Manager) é o software em um dispositivo móvel
responsável por instalar, executar e remover MIDlets
É dependente do dispositivo
Projetado e implementado pelo fabricante do dispositivo
15
O conjunto de MIDlets
Ambiente de tempo de execução e Gerenciamento de Aplicativos
Ao iniciar uma MIDlet, o GA torna disponível para o aplicativo:
Acesso à CLDC e à VM – as MIDlets podem fazer uso de todas as classes definidas dentro da CLDC.
Acesso às classes definidas pelo MIDP – essas bibliotecas definem e implementam a interface com o usuário.
Acesso ao arquivo JAR – todas as classes ou outros recursos (ex:
imagens) dentro do repositório de arquivos devem estar disponíveis para a MIDlet.
Acesso ao arquivo JAD (Java Application Descriptor) – se um
arquivo JAD estiver disponível, seu conteúdo deve estar disponível 16
O conjunto de MIDlets
Ambiente de tempo de execução e Gerenciamento de Aplicativos
Compartilhamento de recursos
Dentro de um conjunto, as MIDlets podem compartilhar recursos.
Ex: uma área “comum” no armazenamento persistente
Compartilhar as preferências do aplicativo configuradas pelo usuário.
Quando o usuário muda de uma MIDlet para outra, as preferências são carregadas junto com ele, propiciando
17
O conjunto de MIDlets
JAR (Java Archive)
Entidade de empacotamento Java
Classes Java e outros arquivos, como imagens e dados de aplicativos, conhecidos como recursos.
18
O conjunto de MIDlets
JAR (Java Archive)
Contém também um arquivo conhecido como ‘manifesto’.
Descreve o conteúdo do JAR.
Tem o nome de ‘manifest.mf’
Armazenado como parte do próprio arquivo JAR.
Não exige todos os atributos definidos. Entretanto os seguintes devem estar dentro do arquivo de manifesto, caso contrário o gerenciador se recusará a carregar o JAR:
MIDlet-Name
MIDlet-Version
MIDlet-Vendor
MIDlet-<n> (uma entrada para cada MIDlet no arquivo JAR)
MicroEdition-Profile
19
O conjunto de MIDlets
JAR (Java Archive)
Exemplo de um arquivo de manifesto simples
MIDlet—Name: Todo List
MIDlet-Version: 1.0
MIDlet-Vendor: Core J2ME
MIDlet—1: TodoList, /images/todo.png, Todo.TodoMIDlet
MicroEdition-Profile: MIDP-2.0
MicroEdition-Configuration: CLDC-1.1 20
O conjunto de MIDlets
JAD (Java Application Descriptor)
Como um JAR, um JAD também deve estar disponível como parte do conjunto de MIDlets
para fornecer informações sobre a(s) MIDlet(s) dentro do arquivo JAR.
Raciocínio por trás da inclusão de um arquivo JAD:
Fornecer informações para o gerenciador de aplicativos sobre o conteúdo de um arquivo JAR;
Fornecer um meio para que parâmetros sejam passados para uma (ou mais) MIDlet(s), sem ter que fazer alterações no arquivo JAR.
O arquivo JAD tem que ter a extensão ‘.jad’
21
O conjunto de MIDlets
JAD (Java Application Descriptor)
Conjunto de atributos obrigatórios:
MIDlet-Name
MIDlet-Version
MIDlet-Vendor
MIDlet-<n> (para cada MIDlet) * (não exigido na versão 2.0 do MIDP)
MIDlet-Jar-URL
MIDlet-Jar-Size
Os três primeiros devem ser idênticos aos mesmos atributos no arquivo de manifesto, ou o gerenciador de aplicativos não carregará o arquivo JAR.
Em caso de outros atributos com nomes duplicados nos dois arquivos, mas com valores diferentes, os do arquivo descritor tem precedência.
22
O conjunto de MIDlets
JAD (Java Application Descriptor)
Um arquivo JAD simples:
MIDlet-Name: Todo List
MIDlet-Version:1.0
MIDlet-Vendor: Core J2ME
MIDlet-Jar-URL: http://www.corej2me.com/TodoMIDlet.jar
MIDlet-Jar-Size: 17043
MIDlet-1: TodoList, /images/Todo.png, Todo.TodoMIDlet 23
Considerações
MIDP
Não constitui todo o J2ME
É apenas um ramo do J2ME
Foi o primeiro perfil terminado e teve a primeira base de dispositivos lançados no mercado
24
Linguagem de Programação IV MIDP
Prof. Alessandro Borges
Referências
MUCHOW, John W. Core J2ME – Tecnologia e MIDP. 1ª ed. Pearson-Makron Books. 2004.
26