Intro javame
Upcoming SlideShare
Loading in...5
×
 

Intro javame

on

  • 904 views

Introdução a plataforma Java ME

Introdução a plataforma Java ME

Statistics

Views

Total Views
904
Views on SlideShare
904
Embed Views
0

Actions

Likes
0
Downloads
13
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Intro javame Intro javame Presentation Transcript

  • Computação Móvel Veio para resolver um grande problema desta “Era da Informação” (ou excesso de Informação, segundo alguns)Necessidade de acesso à informação(qualquer lugar e a qualquer momento)–Aumentar a eficiência do trabalho–Facilidade no transporte de dispositivos–Cada vez mais dispositivos–Cada vez mais recursos–Custos caindo...
  • Computação Móvel Redes: Wi Fi Internet Wi Max Bluetooth ServiçosDispositivos Telefonia OperadorasPortáteis ou CelularEmbarcados
  • Computação MóvelPrincipais problemasConectividade–Perda de conexão–Qualidade variável do enlace – sem QoS–Regiões sem Cobertura–Largura de Banda estreitaDispositivos–Possuem poucos recursos–Energia limitada–Interface pobre–Grandes diferenças entre eles
  • Por que Java?●O JavaME (MicroEdition) é um retorno do Javaas origens, comunicação de pequenosdispositivos heterogêneos.●Foi criada pois o Java cresceu muito●Diferentes Dispositivos:–Multiplataforma => Máquina Virtual●Quantidade de desenvolvedores●Suporte dos maiores fabricantes:–Nokia, Siemens, Motorola, Sony/Ericson, LG...
  • JavaME – as 2 DivisõesPadrão de arquitetura Arquitetura CDC Arquitetura CLDC Programa JavaME Programa JavaME Programa JavaME Perfil FP / PBP / PP MIDP Configuração CDC CLDC Máquina Virtual JVM-CDC KVM Hardware Bons Recursos Muito Simples Palm, Embarcados, SetupBox Celulares, Palm
  • JavaME - siglas Configurações●CLDC: Conected Limited Device Configuration–Poucos recursos e conexão fraca -> Celulares● CDC: Conected Device Configuration–Bons recursos computacionais e de conexão Perfis●MIDP: Mobile Information Device Profile–Perfil usado para desenvolvimento para celulares●FP: Foundation Profile – sem GUI●PBP: Personal Basis Profile – gráficos limitados●PP: Personal Profile – quase Java padrão–Este 3 perfis são utilizados com o CDC
  • JavaME – API´s MIDPCLDC java.lang java.io MIDP java.util java.microedition.lcdui java.microedition.io java.microedition.lcdui.game java.microedition.midlet java.microedition.rms java.microedition.pki java.microedition.media java.microedition.media.control
  • MIDlet Suite●Pacote que segue os padrões de MIDP●“.jar” da aplicação para celular, inclui:–Inclui o arquivo “MANIFEST.MF”–Inclui recursos (imagens, sons)–Inclui uma ou mais MIDlets (aplicações MIDP)●Acompanha arquivo “.jad“ (java descriptor),normalmente usado para baixar, instalar econfigurar o .jar. Ex: Jogo.jar – aplicativo - 45kb Jogo.jad – descritor - 150bytes
  • MIDP – arquivo MANIFEST.MF●Arquivo de propriedades, incluído no “.jar”●Descreve o conteúdo e configura a Suite●Campos obrigatórios:–MIDlet-<n>:info MIDlet n - Nome,Icone,Classe–MIDlet-Vendor: autor–MIDlet-Name: nome da Suite MIDlet–MIDlet-Version: versão do aplicativo–MicroEdition-Configuration: versão do CLDC–MicroEdition-Profile: versão do MIDP●A linha MIDlet-<n> se repete para cada MIDletdentro da suite.
  • MIDP – exemplo MANIFEST.MFManifest-Version: 1.0MIDlet-1: Xadrez, torre.png , demo.XadrezMIDlet-2: Dama, disco.png , demo.DamaMIDlet-3: Gamão, gamao.png, demo.GamaoMIDlet-Vendor: Chicao SA.MIDlet-Name: Jogos DemoMIDlet-Description: Exemplo de Jogos JavaMEMIDlet-Version: 1.0.0MicroEdition-Configuration: CLDC-1.1MicroEdition-Profile: MIDP-2.1
  • MIDP – Descritor “.jad”●Arquivo externo ao “.jar”, usado na instalação●Semelhante ao MANIFEST.MF e comprecedência sobre ele●Tem o mesmo nome do pacote “.jar”●Outros campos utilizados:–MIDlet-Jar-Size: tamanho em bytes do “.jar”–MIDlet-Jar-URL: localização do “.jar”
  • MIDP – exemplo JogosDemo.jadMIDlet-Jar-Size: 15516MIDlet-Jar-URL: JogosDemo.jarMIDlet-Name: Jogos DemoMIDlet-Vendor: Chicao SA.MIDlet-Version: 1.0MicroEdition-Configuration: CLDC-1.1MicroEdition-Profile: MIDP-2.1
  • MIDlet – Ciclo de Vida Construtor Pausado pauseApp destroyAppstartApp Rodando Destruido destroyApp
  • Criando um MIDlet● Basta criar uma classe que estenda MIDlet–javax.microedition.midlet.MIDlet ●● Implementar os métodos:–Construtor()–public void startApp()–public void pauseApp()–public void destroyApp(boolean b)Para executar ou instalar, deve estar empacotada como MIDlet Suite, com o MANIFEST.MF
  • Interface Gráfica Características:Tela pequena – pouca resolução e coresInterface pobre – sem apontadorPor isso não possui alguns objetos gráficos comuns, como botões, e deve haver uma grande preocupação com a navegação e troca de telas no projeto.A API javax.microedition.lcdui é a responsável pelos recursos gráficos do MIDP
  • API javax.microedition.lcdui Object Display Displayable Command Item Graphics Canvas Screen ChoiceGroup DateField Font CustomItem TextField ImageAlert ImageItem Gauge Form Ticker StringItem Spacer TextBox List AlertType
  • Classes para Exibição de TelasDisplay Representa a tela do dispositivo Existe apenas uma para todo o MIDlet Obtida por: tela = Display.getDisplay(this) “tela” é um Display e “this” é um MIDletDisplayable São as telas configuradas São alternadas no Display atraves de: tela.setCurrent(menu) “tela” é um Display e “menu” é um Displayable
  • Classes “Displayable” Displayable Canvas - classe para telas de baixo nível, desenhos e eventos Canvas Screen Screen - classe para telas de alto nível, específicas, dos tipos: Alert: mensagens de avisoAlert TextBox: apenas textos Form List: lista de opções, menus TextBox Form: permite agrupar itens, List campos de entrada, seletores, medidores, imagens e textos
  • Classes “Item” Componentes gráficos usados Item em Displayable Form TextField – entrada textoChoiceGroup DateField DateField – entrada data StringItem – etiqueta “label”CustomItem TextField ChoiceGroup – seleção ImageItem Gauge ImageItem – imagem StringItem Spacer Gauge – medidor Spacer – espaçador CustomItem – crie o seu...
  • Comandos – Classe CommandProblema: “Não há padronização de botões em celulares!”Solução:São atribuídos a tipos: OK, CANCEL, SCREEN, STOP, BACK, EXIT, HELP e ITEM O Celular se encarrega de colocar o comando na posição “padrão do aparelho” pelo tipo. Caso haja vários comandos na mesma posição, mostra um menu com as várias opções.
  • CommandListenerInterface para tratamento dos eventos de Command.Deve ser implementado pela classe que vai tratar os comandosMétodo a ser implementado: public void commandAction(Command c, Displayable d) onde: “c” recebe o objeto que gerou o comando “d” recebe a tela onde foi dado o comandoEste método pode ser o mesmo para tratar diversos comandos, por isso é hábito testá-los
  • Por enquanto é só!