Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Minicurso Java Me

on

  • 6,015 views

Slides do minicurso Java ME.

Slides do minicurso Java ME.

Statistics

Views

Total Views
6,015
Views on SlideShare
6,008
Embed Views
7

Actions

Likes
0
Downloads
223
Comments
0

1 Embed 7

http://www.linkedin.com 7

Accessibility

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

Minicurso Java Me Minicurso Java Me Presentation Transcript

  • GOJAVA   Java  Móvel   Introdução  ao  Java  ME  e  WTK  3.0   Marcelo  Quinta   Ins3tuto  de  Informá3ca  -­‐  UFG  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Apresentação   •  Graduado  em  Ciência  da  Computação  –  UFG;   •  GUJ  leader  GoJava;   •  Monitor  da  Especialização  de  “Desenvolvimento  Web   para  Interfaces  Ricas”  –  INF/UFG;   •  Mestrando  na  área  de  Engenharia  de  SoPware   –  Orientado  pelo  professor  Fábio  Nogueira;   –  Arquitetura  e  construção  de  aplicação  para  visualização  de   objetos  de  aprendizagem  customizados  em  múl3plos   disposi3vos.     •  O  que  estudo  e  trabalho:   JavaEE   JavaME   JavaFX   Teste  de  So@ware   Usabilidade   2  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Agenda   •   Diferenças  entre  as  plataformas  Java;   •   Apresentação  de  aplicações  Java  ME;   • Desafios  para  programação  para   disposi3vos  móveis;   • Arquitetura  do  Java  ME;   • WTK  3.0  no  NetBeans;   •   Definição  dos  MIDlets;   •   Ciclo  de  vida  dos  MIDlets;   •   Hello  World;   •   Instalação  de  aplicações  no  celular;   3  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Agenda   •   Introdução  à  API  MIDP  2.0;   •   Noções  de  interface  gráfica;   •   Tratamento  de  eventos;   •   Persistência;   •   Comunicação  Web;   •   LWUIT.   4  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Plataformas  Java   Java  SE   Java  EE   Java  ME   JDK  6   SDK  6   CLDC  1.1   CDC    1.1   5  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Foco  do  Java  ME   6  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   O  que  se  pode  fazer  com  Java  ME   7  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   O  que  pode-­‐se  fazer  sabendo  Java  ME   Programar   para  TV  Digital   8  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Desafios  da  programação  para   disposiPvos  móveis   •  Memória  para  gravação  pequena;   –  “Meu  celular  não  tem  memória  pra  guardar  esse  arquivo.”;   •  Tamanho  do  Display  pequeno;   –  “Não  dá  pra  ver  a  foto  direito  nessa  tela.”;   •  Velocidade  de  Processamento  baixa;   –  “Meu  celular  é  uma  carroça.”;   •  Uso  grande  de  bateria;   –  “Minha  bateria  não  dura  nada.”   •  Dificuldades  com  comunicação  externa.   –  “Nunca  usei  a  internet  do  meu  telefone.”;   9  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Arquitetura  do  Java  ME   10  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Arquitetura  do  Java  ME   11  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Máquina  Virtuais   •  CVM  (C  Virtual  Machine)   •  Projetada  para  disposi3vos  móveis  mais  poderosos;   •  KVM  (K  Virtual  Machine)  /  HotSpot  CLDC   •  Projetada  para  disposi3vos  móveis  mais  simples;   •  Bibliotecas  de  classe  com  código  objeto  de  tamanho   reduzido  em  50-­‐80  Kb;     •  Pequena  u3lização  de  memória;     •  Performance  efe3va  em  processadores  de  16-­‐32  bits;     •  Mul3threading  e  coleta  de  lixo  independentes  do   sistema;   12  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Arquitetura  do  Java  ME   13  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Configurações   •  Conjunto  de  funcionalidades  para  que  as   aplicações  Java  ME  possam  “se  comunicar   com  a  JVM”;   •  É  específica  para  certa  gama  de  aparelhos;   •  Menos  visível  aos  usuários,  mas  é  muito   importante  para  implementadores  de  perfis   (profiles);   •  Duas  configurações  básicas:  CDC  e  CLDC.   14  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   CDC  –  Connected  Device  ConfiguraPon   •  Supõe  disposi3vos  com  mais  capacidade,  tais   como  seuop  boxes  digitais,  screen-­‐phones,   Nokia  Communicator  e  alguns  PDAs  mais   poderosos;   •  Recursos  mais  avançados  mais  complexos,   incluindo  suporte  ao  Oracle;   •  Atualmente  na  versão  CDC  1.1.2  (JSR  218).   15  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   CLDC  –  Connected  Limited  Device   ConfiguraPon   •  Supõe  disposi3vos  mais  simples,  com  mais   limitações,  como  telefones  celulares  e  pagers;   •  É  a  configuração  mais  usada  para   programação  Java  ME;   •  Atualmente  na  versão  1.1.  (JSR  139);   16  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Pensando  em  funcionalidades   17  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Arquitetura  do  Java  ME   18  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Perfis   •  Definem  uma  API  disponível  para  um  conjunto   específico  de  aparelhos;   •  Cada  um  é  implementado  sobre  uma   configuração  par3cular;   •  Os  mais  conhecidos  são  Personal,  Founda3on   e  Basis  (CDC)  e  MIDP  (CLDC).   19  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Configuração  X  Perfil   •  Configuração   •  Descreve  de  forma  geral  uma  família  de   disposi3vos;   •  Perfil   •  Fica  mais  específico  a  um  3po  de  aparelho.   20  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Personal,  Basis  and  FoundaPon   •  Baseados  na  CDC;   •  Suporte  a  JDBC  e  RMI;   •  Founda3on  (Biblioteca  de  classes  simples  e   sem  interface  gráfica);   •  Basis  (Biblioteca  de  classes  e  interface  gráfica   simples);   •  Personal  (Biblioteca  de  classes  complexa,   inclusive  com  suporte  a  applets  e  interface   AWT).   21  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   MIDP   •  Mobile  Informa3on  Device  Profile,  baseado  na   CLDC;   •  Atualmente  na  versão  2.1;   •  É  o  mais  popular;   •  Garbage  collector  “o3mizado”;   •  API  bastante  parecida  com  Java  6,  possuindo   interface  gráfica,  persistência  e  acesso  a  web.   22  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   MIDP  2.0   23  
  • Arquitetura  do  Java  ME   24  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Bibliotecas   •  Definições  específicas  de  APIs  que  realizam   trabalhos  pontuais;   –  JSR  179:  Loca3on  API  for  Java  METM;   –  JSR  172:  Java  METM  Web  Services  Specifica3on;   –  JSR  75  :  PDA  Op3onal  Packages  for  the  Java  METM   Plaworm;   –  JSR  82:  JavaTM  APIs  for  Bluetooth;   hZp://jcp.org/en/jsr/pla^orm?listBy=1&listByType=pla^orm   25  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Arquitetura  do  Java  ME   26  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   O  que  vamos  aprender?   •  CLDC  1.0/CLDC  1.1  +  MIDP  2.0   –  Suportado  na  maior  parte  dos  celulares   modernos;   –  Maior  facilidade  de  depuração;   –  Mais  limitações  para  codificação.   27  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   PráPca   28  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Wireless  Toolkit  3.0   GRATUITO   •  Ferramenta  para  facilitar  a  construção  de  aplicações  J2ME;   –  Integração  com  emuladores  de  terceiros,  bem  como,  de  disposi3vos   com  Windows  Mobile;   –  Simplificação  no  processo  de  deploy  em  disposi3vos  reais;   –  Integração  do  CDLC/MIDP,  CDC/FP/PBP/AGUI  e  BD-­‐J  em  um  único  SDK,   não  sendo  mais  necessário  o  download  e  instalação  de  pacotes   separados;   –  Uma  nova  máquina  virtual  HotSpot  CLDC,  em  subs3tuição  à  an3ga   KVM;   –  Suporte  a  profiling;   –  Suporte  a  BD-­‐J;   –  Novo  ambiente  de  desenvolvimento  baseado  na  plataforma  Netbeans;   –  Integração  com  Lightweight  UI  Toolkit  (LWUIT);Pesquisa  por   especificações  técnicas  de  disposi3vos  integrado  no  SDK.   29  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   NetBeans  6.9   GRATUITO   •  A  versão  Java  e  completa  vem  com  Mobility   Pack:   –  WTK  3.0;   –  Adicionais  para  depuração  /  produ3vidade;   30  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Design  Visual   Configurações   Fluxo  de  Aplicação   31   Paleta   Auto-­‐Complete  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Como  funciona  uma  aplicação  Java   ME?     •  MIDlet   –  Semelhante  a  um  applet,  mas  nãe  é  controlado   por  uma  função  main(String  args[]);   –  Gerencia  qual  tela  mostrar,  qual  função  chamar,   como  comunicar  com  o  AMS  (Applica?on   Management  SoAware)  do  disposi3vo;   –  Define  as  transições  possíveis  de  uma  aplicação   MIDP:  Pausado,  A?vo  ou  Destruído.   32  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   MIDlet   •   int  checkPermission(String  permission);     • void  destroyApp(boolean  uncondiPonal);   •   String  getAppProperty(String  key);   • void  no3fyDestroyed()  ;   •   boolean  plawormRequest(String  URL);   • void  no3fyPaused()  ;   •   void  pauseApp()  ;   •   void  resumeRequest();   • void  startApp();   33  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Como  funciona  uma  aplicação  Java  ME?   APLICACAO.JAR   Tela  Atual   Entrada  de  comandos   Iniciar   Pausar   Terminar   34  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Hello  World  Java  ME   import  javax.microedi3on.lcdui.*;    import  javax.microedi3on.midlet.*;     public  class  PrimeiroMidlet  extends  MIDlet  implements  CommandListener  {          Display  display;  Form  formulario;  Command  comandoSaida;            public  void  startApp()  {                  display  =  Display.getDisplay(this);                  formulario  =  new  Form(“WTC  2010");                  formulario.append("Olá  J2ME!!!");                  comandoSaida  =  new  Command("Exit",  Command.EXIT,  2);  formulario.addCommand(comandoSaida);                  formulario.setCommandListener(this);                    display.setCurrent(formulario);          }            public  void  pauseApp()  {  }            public  void  destroyApp(boolean  uncondi3onal)  {  }          public  void  commandAc3on(Command  arg0,  Displayable  arg1)  {                    if  (arg0  ==  comandoSaida)  {                              destroyApp(true);    this.no3fyDestroyed();                  }              }   35    }    
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Executando  a  aplicação   •  Pode-­‐se  usar  o  WTK  3.0;   •  Outros  emuladores   –  Nokia   –  Motorola;   –  ...;   36  
  • SEMINFO  2009  –  INTRODUÇÃO  AO  J2ME  E  WTK  3.0   Instalando  a  Aplicação...   •  Arquivo  “.jar”  da  aplicação   –  Classes;   –  Recursos;   –  Manifest;   –  Bibliotecas  adicionais   •  Arquivo  “.jad”  descritor  da  aplicação;   37  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Instalando  a  aplicação   •  Exemplo  de  .jad:   MIDlet-1: HelloMidlet, , hello.HelloMidlet MIDlet-Jar-Size: 1481 MIDlet-Jar-URL: HelloWorld.jar MIDlet-Name: HelloWorld MIDlet-Vendor: Vendor MIDlet-Version: 1.0 MicroEdition-Configuration: CLDC-1.1 MicroEdition-Profile: MIDP-2.0 38  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   FIM  DA  PRIMEIRA  PARTE   •  O  que  já  sabemos:   –  Diferença  de  Java  ME  para  Java  SE  E  Java  EE;   –  O  que  podemos  fazer;   –  Problemas  que  enfrentaremos  na  programação;   –  Como  é  a  arquitetura  Java  ME;   –  Como  se  configura  um  programa  Java  ME;   –  Como  executar;   –  Como  instalar.   39  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   API  MIDP  2.0   •  Sintaxe  é  extremamente  parecida  com  Java  SE   e  tem  API  com  configuração  muito  parecida;     Ciclo  de  vida   Fluxo  de  dados   Interface  gráfica   Persistência   Core   UPlidades   Conexão  Web   Segurança   Mídia   40  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Mas  antes  de  programar...   •  Lembre-­‐se:  que  Java  ME  tem  a  mesmo  3po  de   sintaxe  de  JAVA  SE  e  Java  EE!!!;   –  O  que  muda  é  a  API  e  o  propósito  da  aplicação;   –  Dica  para  seu  trabalho  com  programação  Java  ser   respeitado:   APLIQUE  AS  CONVENÇÕES  DE  CÓDIGO  JAVA    (Java  Code  ConvenPons)   Não  é  frescura,  é  a  norma!!!  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Voltando  ao  MIDlet...   •   int  checkPermission(String  permission);     • void  destroyApp(boolean  uncondi3onal);   •   String  getAppProperty(String  key);   • void  no3fyDestroyed()  ;   •   boolean  pla^ormRequest(String  URL);   • void  no3fyPaused()  ;   •   void  pauseApp()  ;   •   void  resumeRequest();   • void  startApp();   42  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Mãos  à  obra     hup://exemplos.googlecode.com   Referência   hup://java.sun.com/javame/reference/apis/jsr118/   43  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Métodos  do  MIDlet   •  String  getAppProperty(String  key)   –  Retorna  o  valor  da  propriedade  do  MIDlet   –  Propriedades  podem  ser  customizaveis;   •  String  System.getProperty(String  property)   –  hup://developers.sun.com/mobility/midp/ ques3ons/proper3es/index.html;   •  String  checkPermission  (String  permission)   –  Checa  se  uma  operação  é  permi3da;   44  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Interface  Gráfica   Screen   Canvas   45  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Record  Management  System   j2mesalsa.com   46  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Conexão   47  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   LWUIT   hups://lwuit.dev.java.net/   48  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   JavaFx   Destaque  Java   2009   hup://www.javafx.com/pt-­‐br/   49  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Comunidades   www.gojava.org   50  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Comunidades   51  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Se  não  gostou  do  J2ME...   Programar  para  Windows  Mobile  é   uma  alterna3va.   O  Visual  Studio  ajuda  bastante.   Acesse  www.devgoias.net   52  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Se  você  não  gosta  do  Bill  Gates...   ...  e  gosta  do  Google.   53  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   Mas  se  você  gosta  do  Steve  Jobs   iPhone!!   54  
  • Criando  aplicações  para  celulares  u3lizando  Java  ME   FIM   marceloricardoquinta@gmail.com   55