Programação para Dispositivos
Móveis
Acesso a informação
Notícias, Ringtones, Vídeos
Messenger/Chat Jogos
Acesso a instituições financeiras M-commerce (Mobile Commerce)
Aplicações Coorporativas
Automação de força de vendas Serviços de Campo
Serviços Baseados em localização
Localização de estabelecimentos comerciasCaracterísticas dos dispositivos
Variedades dos Dispositivo Variedade de plataformas
Características dos dispositivos
Recursos escassos Memória (em alguns casos 128, 256 e 512MB) Processamento
Tamanho de tela
Taxa de Transmissão de dados
Bateria
Capacidade limitada
Características dos dispositivos
Características da Rede Transmissão de dados limitada
Computacionalmente e pelo custo
On-line: Canais de comunicação sem fio
Celular, Satélite Redes sem Fio.
Off-line: Sincronismo periódico
Exercícios
1. O que são dispositivos móveis? Cite 3 exemplos.
2.O que são aplicações móveis ?
3. Cite os 3 grandes grupos de aplicações móveis.
Escolha um desses grupos e de exemplos de aplicações
Programação para dispositivos
Móveis (JME – Java Micro Edition)
Java foi criado em 1991 por James Gosling, da SunMicrosystems.
Motivação: necessidade para uma linguagem
independente de plataforma que fosse embarcada em vários produtos eletrônicos
Ex: torradeiras, refrigeradores etc
Com o lançamento da versão 1.2, a plataforma Java foi classificada em várias plataformas:
JME (Java Micro Edition)
É um conjunto de especificações e tecnologias que têm o foco em dispositivos pessoais
Dispositivos que possuem:
quantidade limitada de memória
menor poder de processamento
pequenas telas e baixa velocidade de conexão.
Classes JME são compiladas em byte codes (códigos
intermediários) e interpretadas por uma Máquina Virtual Java (JVM).
O JME fornece uma interface consistente com os dispositivos.
As aplicações não têm que ser recompiladas para poderem ser executadas em diferentes aparelhos.
Núcleo JME
Configuração: define um ambiente de execução básico para um sistema JME
Perfil: adiciona uma biblioteca para certas classes de dispositivos.
Núcleo J2ME
Aplicações J2ME
CLDC + VM MIDP Aplicações Nativas Sistema Operacional Dispositivo (Hardware) Pacotes OpcionaisConfigurações e Perfis
O J2ME é constituído de 2 componentes principais
•Perfis
Configurações
Define uma plataforma Java (VM + Conjunto mínimo de bibliotecas ) para um categoria ou grupo horizontal de dispositivos com requisitos similares de memória e
capacidade de processamento.
Contem funcionalidades mínimas de baixo nível, principalmente de IO (Input/Output)
Atualmente consiste dos pacotes java.io,
java.lang, java.util,
Configurações
CDC
Trabalha com a máquina virtual compacta CVM
Maior poder de processamento, Processadores de 32
bits
Memória > 2M
Sistemas de navegação de carros TVs com conexão com a internet
Conexão permanente (plugada) com a rede via TCP/IP
Inclui (nem todas) as classes dos pacotes
Configurações
CDC
Exemplos
Set-Boxes
Internet Television
Configurações
CLDC
Menor poder de processamento
Para dispositivos operados com bateria
Conexão intermitente (wireless) com a rede nem sempre
usando TCP/IP
Inclui (nem todas) as classes dos pacotes
java.lang java.io java.util
Configurações
J2SE
J2SE
CDC
Configurações
J2ME Perfil 4
CDC Bibliotecas
Compact Virtual Machine J2ME Perfil 5 J2ME Perfil 6 memória 2 Meg processador 32 bit J2ME Perfil 1 CLDC Bibliotecas K Virtual Machine J2ME Perfil 2 J2ME Perfil 3 memória 128 - 512 K processador 16 - 32 bit
Generic Connection Framework
(GCF)
Framework Genérico de Conexão
Fornece as APIs básicas para conexão em CLDC. Abstrai os conceitos de arquivos, sockets, pedidos HTTP
e outros mecanismos de IO em um conjunto mais simples de classes daquele definido pelo J2SE
Em vez de criar um objeto especifico de uma classe para comunicação, por exemplo java.io.File ou
java.net.Socket, a aplicação pede ao GCF para criar uma conexão usando um determinado protocolo
Perfis (Profiles)
Conceito de
Portabilidade
aplicado a dispositivos
dentro de uma industria ou domínio de aplicação
Tipos de dispositivos
Telefone celular Máquina de lavar
Brinquedo eletrônico
Representam diferentes segmentos de mercado
Um perfil define uma plataforma Java para um
segmento vertical de mercado
Perfis (Profiles)
Estende uma configuração
Inclui bibliotecas especificas para um domínio de aplicação
Definem
o modelo do ciclo de vida da aplicação a interface do usuário
Perfis (Profiles)
Aplicações são escritas para um perfil
Um dispositivo pode suportar mais de um perfil
Alguns Perfis podem ser mais orientados a um tipo de aplicação enquanto outros podem ser mais orientados a funções específicas de dispositivos
Qualquer aplicação escrita para um perfil deve rodar
em qualquer dispositivo que tenha suporte para aquele perfil
Perfis (Profiles)
Um Perfil é um contrato entre
uma aplicação e um segmento vertical do mercado
Perfis (Profiles)
Perfis CDC Foundation
Conjunto de APIs para dispositivos que não possuem um sistema padrão de
GUI
Funciona como uma “fundação” para construção de outros perfis Suporta Sockets
Java Game Profile
Suporta 9 áreas de desenvolvimento de jogos em java
Modelagem e Visualização 3D Modelagem e física 3D Animação de personagens 3D Som Controladores Acesso a Hardware
Perfis (Profiles)
Perfis CLDC PDAP - Personal Digital Assistant Profile
Estende o CDLC Específico para PDAs
Java APIs for Bluetooh
Compartilhamento de dados BlueTooTH
Mobile Media API
Tratamento de Mídia temporizada
Mobile 3d Graphics
Tratamento 3D em ambientes limitados
MIDP
Junto com a CDLC provê um ambiente J2ME completo para dispositivos
móveis tipo celulares e PDAs
MIDP
Melhor interface com usuário Comandos flexíveis
Melhor layout
Suporte a novas mídias
Audio Building Block (Tons, sequencias e WAV) Suporte a jogos
Sprites, tiled layers Conectividade
HTTPS, Datagramas, Server Sockets, Serial Push
Serviços em notificações recebidas pelo dispositivo OTA – Over the Air
MIDP
Hardware
Input (Um ou Mais)
Teclado para uma só mão Teclado QWERTY
Touch screen
Networking
Two-way Wireless
Intermitente (ou não) Banda limitada
MIDlets
Aplicativo Java projetado para ser executado em um dispositivo móvel
Similar a uma Applet J2SE
Classes básicas: CLDC e MIDP Conjunto de MIDlets
MIDlets empacotadas em arquivo JAR
MIDlets
Ambiente de Execução
Application Manager
Software do dispositivo responsável por
Instalar Executar
Remover MIDlets
O software de gerenciamento da aplicação
(AMS-Application Management Software) interage
diretamente com o MIDLet (criando, iniciando, pausando e destruindo).
MIDlets
MIDLets Suits
As aplicações de MIDP são empacotadas e entregues aos dispositivos como MIDlet suites.
Um MIDlet suite consiste em um Arquivo Java (JAR) e, opcionalmente, um descritor de aplicação Java (JAD).
Um arquivo JAD é um arquivo texto contendo um
Exercícios
1. O que é JME ? E qual seu objetivo?
2. Quais os 2 componentes principais do JME?
3. Quais são as vantagens do uso de Java como plataforma de desenvolvimento e execução para os dispositivos móveis?
4.O que são configurações?
5. O que são perfis?
6.Quais são as 2 configurações do JME?
7. Cite exemplos de perfis.
8.Qual o nome do perfil mais comum utilizado para desenvolvimento de aplicações para celular ?
9.Quais são as fases do Ciclo de Vida do MIDlet ?