Programação para Dispositivos Móveis

Propaganda
Programação para Dispositivos
Móveis
 Prof. Wallace Borges Cristo
Acesso a informação
 Notícias, Ringtones, Vídeos
 Messenger/Chat
 Jogos
 Acesso a instituições financeiras
 M-commerce (Mobile Commerce)
Aplicações Coorporativas
 E-mail
 Automação de força de vendas
 Serviços de Campo
 Distribuição e logística
Serviços Baseados em localização
 Localização de estabelecimentos comercias
 Rastreamento de veículos e pessoas
Características dos dispositivos
 Variedades dos Dispositivo
 Variedade de plataformas
 Variedade de sistemas operacionais
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
 Recurso fundamental para mobilidade
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
 USB, serial, infravermelho, Bluetooth, Wi-Fi.
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
4. Cite 4 características dos dispositivos móveis
Programação para dispositivos
Móveis (JME – Java Micro Edition)
 Java foi criado em 1991 por James Gosling, da Sun
Microsystems.
 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:
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
Pacotes Opcionais
MIDP
CLDC + VM
Sistema Operacional
Dispositivo (Hardware)
Aplicações
Nativas
Configurações e Perfis
 O J2ME é constituído de 2 componentes principais
•Perfis
•Configurações
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,
java.microedition.io
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

java.lang, java.util, java.net, java.io, java.text e java.security
Configurações
 CDC
 Exemplos



Set-Boxes
Internet Television
Automobile entertainment/Navigation Systems
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
CDC
CLDC
Configurações
J2ME
Perfil 1
J2ME
Perfil 2
J2ME
Perfil 3
J2ME
Perfil 4
J2ME
Perfil 5
J2ME
Perfil 6
CLDC
Bibliotecas
CDC
Bibliotecas
K Virtual Machine
Compact Virtual Machine
memória 128 - 512 K
processador 16 - 32 bit
memória 2 Meg
processador 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
Generic Connection Framework (GCF)
Perfis (Profiles)
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
 acesso a propriedades específicas do dispositivo
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
Transmissão e Conexão de rede ...






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
Bastante Popular
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
 Download e instalação de MIDLets
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 compartilham recursos com mais segurança
MIDlets
 Ambiente de Execução
 Application Manager

Software do dispositivo responsável por



Instalar
Executar
Remover MIDlets
 O software de gerenciamento da aplicação (AMSApplication Management Software) interage
diretamente com o MIDLet (criando, iniciando,
pausando e destruindo).
MIDlets
 Ciclo de Vida do MIDlet
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
conjunto de atributos, alguns dos quais são requeridos.
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 ?
10. O que constitui um MIDlet Suit ?
Referência:
Prof. Rogério Celestino dos Santos
Download