Intro javame

659
-1

Published on

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
659
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Intro javame

  1. 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. 2. Computação Móvel Redes: Wi Fi Internet Wi Max Bluetooth ServiçosDispositivos Telefonia OperadorasPortáteis ou CelularEmbarcados
  3. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 13. MIDlet – Ciclo de Vida Construtor Pausado pauseApp destroyAppstartApp Rodando Destruido destroyApp
  14. 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. 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. 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. 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. 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. 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. 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. 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. 22. Por enquanto é só!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×