Your SlideShare is downloading. ×
Intro javame
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Intro javame

621
views

Published on

Introdução a plataforma Java ME

Introdução a plataforma Java ME


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
621
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 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...
  • 2. Computação Móvel Redes: Wi Fi Internet Wi Max Bluetooth ServiçosDispositivos Telefonia OperadorasPortáteis ou CelularEmbarcados
  • 3. 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
  • 4. 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...
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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.
  • 10. 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
  • 11. 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”
  • 12. 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
  • 13. MIDlet – Ciclo de Vida Construtor Pausado pauseApp destroyAppstartApp Rodando Destruido destroyApp
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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...
  • 20. 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.
  • 21. 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
  • 22. Por enquanto é só!