Programação para Dispositivos Móveis -...
-
Upload
phungkhanh -
Category
Documents
-
view
217 -
download
0
Transcript of Programação para Dispositivos Móveis -...
![Page 1: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/1.jpg)
Programação para Dispositivos Móveis
Prof. Wallace Borges Cristo
![Page 2: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/2.jpg)
Acesso a informação Notícias, Ringtones, Vídeos Messenger/Chat Jogos Acesso a instituições financeiras M-commerce (Mobile Commerce)
![Page 3: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/3.jpg)
Aplicações Coorporativas E-mail Automação de força de vendas Serviços de Campo Distribuição e logística
![Page 4: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/4.jpg)
Serviços Baseados em localização Localização de estabelecimentos comercias Rastreamento de veículos e pessoas
![Page 5: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/5.jpg)
Características dos dispositivos Variedades dos Dispositivo
Variedade de plataformas Variedade de sistemas operacionais
![Page 6: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/6.jpg)
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
![Page 7: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/7.jpg)
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.
![Page 8: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/8.jpg)
Exercícios1. 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
![Page 9: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/9.jpg)
Programação para dispositivosMó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:
![Page 10: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/10.jpg)
Plataformas
![Page 11: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/11.jpg)
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.
![Page 12: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/12.jpg)
Núcleo JMEConfiguração: define um ambiente de execução básico para um sistema JME
Perfil: adiciona uma biblioteca para certas classes de dispositivos.
![Page 13: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/13.jpg)
Núcleo J2MEAplicações J2ME
CLDC + VM
MIDP
Aplicações Nativas
Sistema Operacional
Dispositivo (Hardware)
Pacotes Opcionais
![Page 14: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/14.jpg)
Configurações e Perfis O J2ME é constituído de 2 componentes principais
•Perfis•Configurações
![Page 15: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/15.jpg)
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
![Page 16: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/16.jpg)
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
![Page 17: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/17.jpg)
Configurações CDC
Exemplos Set-Boxes Internet Television Automobile entertainment/Navigation Systems
![Page 18: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/18.jpg)
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
![Page 19: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/19.jpg)
Configurações
J2SEJ2SE
CDCCDC CLDCCLDC
![Page 20: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/20.jpg)
Configurações
J2ME Perfil 4
CDCBibliotecas
Compact Virtual Machine
J2ME Perfil 5
J2ME Perfil 6
memória 2 Megprocessador 32 bit
J2ME Perfil 1
CLDCBibliotecas
K Virtual Machine
J2ME Perfil 2
J2ME Perfil 3
memória 128 - 512 Kprocessador 16 - 32 bit
![Page 21: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/21.jpg)
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
![Page 22: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/22.jpg)
Generic Connection Framework (GCF)
![Page 23: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/23.jpg)
Perfis (Profiles)
![Page 24: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/24.jpg)
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
![Page 25: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/25.jpg)
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
![Page 26: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/26.jpg)
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
![Page 27: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/27.jpg)
Perfis (Profiles) Um Perfil é um contrato entre
uma aplicação e um segmento vertical do mercado
![Page 28: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/28.jpg)
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 ...
![Page 29: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/29.jpg)
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
![Page 30: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/30.jpg)
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
![Page 31: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/31.jpg)
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
![Page 32: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/32.jpg)
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
![Page 33: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/33.jpg)
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).
![Page 34: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/34.jpg)
MIDlets Ciclo de Vida do MIDlet
![Page 35: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/35.jpg)
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.
![Page 36: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/36.jpg)
Exercícios1. 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 ?
![Page 37: Programação para Dispositivos Móveis - Wallacexa.yimg.com/kq/groups/24040470/2073634342/name/Programação+para...Messenger/Chat Jogos Acesso a ... Núcleo J2ME Aplicações J2ME](https://reader034.fdocuments.net/reader034/viewer/2022052608/5aa49bdf7f8b9ab4788c1a7f/html5/thumbnails/37.jpg)
Referência:
Prof. Rogério Celestino dos Santos