Caelum - Conexao - Java Me

Embed Size (px)

Citation preview

  • 8/2/2019 Caelum - Conexao - Java Me

    1/31

    Java MEJava ME

    Thadeu de Russo de [email protected]

  • 8/2/2019 Caelum - Conexao - Java Me

    2/31

    Quem vos fala?

    Instrutor da Caelum; Software Engineer da IBM (Mobile Framework,

    Tivoli Maximo); SCJP, SCWCD; Bacharel em Cincia da Computao; Competidor de Maratona de Programao; F dos simpsons

  • 8/2/2019 Caelum - Conexao - Java Me

    3/31

    Ateno!

  • 8/2/2019 Caelum - Conexao - Java Me

    4/31

    Um pouco de teoria..

  • 8/2/2019 Caelum - Conexao - Java Me

    5/31

    Para que serve aespecificao?

    Simples, para especificar! Especificar por qu?

    Problemas de heterogeneidade de hardware;

    Diferentes tipos de processadores, instrues demquina diferentes;

    Especificar o qu?

    MquinaS virtuaiS (no plural?)

  • 8/2/2019 Caelum - Conexao - Java Me

    6/31

    E qual o resultado?

    Definio de duas mquinas virtuais Uma para dispositivos parrudos (CVM) e

    outra para dispositivos fraquinhos (KVM) O que significam estas siglas?

    No tenho idia, porm segundo a Sun.. CVM: C Virtual Machine

    KVM: K Virtual Machine Bom, e da?

  • 8/2/2019 Caelum - Conexao - Java Me

    7/31

    E da que..

  • 8/2/2019 Caelum - Conexao - Java Me

    8/31

    Profiles

    Definido sobre uma Configuration Concentra-se nas bibliotecas e na

    caracterstica das aplicaes Ex:

    Foundation, Basis e Personal Profile (CDC)

    MIDP 1.0, MIDP 2.0, MIDP 3.0* e IMP (Information

    Module Profile)* (CLDC)

  • 8/2/2019 Caelum - Conexao - Java Me

    9/31

    No que estamosinteressados?

    Celulares? Ipaqs? Palms? Set-top Boxes? Robs?

  • 8/2/2019 Caelum - Conexao - Java Me

    10/31

    Focando!

    Celulares MIDP 1.0 e 2.0 e 3.0

    Problemas enviando SMS ou MMS? JSR-120

    Persistncia? RMS (Record Management System)

    WS? JSR-172 ou KSoap

  • 8/2/2019 Caelum - Conexao - Java Me

    11/31

    Midlets!

    So como chamamos as classes que estendemMidlet

    A KVM sabe como executar midlets Semelhante a Applets/Servlets/*lets Exemplo? Cdigo?

  • 8/2/2019 Caelum - Conexao - Java Me

    12/31

    Cdigo e Resultado

    Real Demo!

  • 8/2/2019 Caelum - Conexao - Java Me

    13/31

    Perguntas

    Onde est o main? Onde eu configurei o posicionamento dos

    componentes visuais? Como instalar isso no aparelho? E se eu tiver mais de uma classe, como saber

    qual a classe que possui o main?

  • 8/2/2019 Caelum - Conexao - Java Me

    14/31

    JAD O descritor

    Java Application Descriptor Semelhante ao Manifest.mf Contm as informaes da aplicao como:

    Configuration, Profile, Vendor, URL do Jar, etc

    Este arquivo copiado para o aparelho e indicade onde o jar deve ser baixado!

  • 8/2/2019 Caelum - Conexao - Java Me

    15/31

    Exemplo

  • 8/2/2019 Caelum - Conexao - Java Me

    16/31

    Chovemos no molhado?

  • 8/2/2019 Caelum - Conexao - Java Me

    17/31

    Mudando o Foco!

    Ipaqs Suportam o que? (Profiles)

    VMs

    Quais componentes visuais? eRCP, SWT, Zaval

    Persistncia? Bancos de dados?

    Aumentando a memria?

  • 8/2/2019 Caelum - Conexao - Java Me

    18/31

    CDC Profiles

    Foundation Profile (JSR-219 v1.1) IO, Security

    Basis Profile (JSR-217 v1.1) RMI Registry, AWT (bsico)

    Personal Profile (JSR-216 v1.1) Mais RMI, AWT (completo)

  • 8/2/2019 Caelum - Conexao - Java Me

    19/31

    Overview

  • 8/2/2019 Caelum - Conexao - Java Me

    20/31

    VMs

    SavaJe OS Kada CrEme J9 Waba e SuperWaba

    Jeode Jbed EPOC

    www.ftponline.com/wireless/grehan/default_pf.asp

  • 8/2/2019 Caelum - Conexao - Java Me

    21/31

    ComponentesVisuais

    S com AWT no d! Alternativas:

    Zaval (www.zaval.org)

    eRCP (www.eclipse.org/ercp) SWT (default na J9)

    Mobile FX (www.sun.com/software/javafx/mobile)

    http://www.zaval.org/http://www.eclipse.org/ercphttp://www.sun.com/software/javafx/mobilehttp://www.sun.com/software/javafx/mobilehttp://www.eclipse.org/ercphttp://www.zaval.org/
  • 8/2/2019 Caelum - Conexao - Java Me

    22/31

    Persistncia

    CDC permite o uso de JDBC (JSR-169) Bancos de Dados conhecidos:

    Oracle Lite

    DB2 Everywhere

    SQLServer Mobile Edition

    Sybase Anywhere

    PointBase

    Perst Lite*

    MySQL Embedded

    Derby e HSQLDB

  • 8/2/2019 Caelum - Conexao - Java Me

    23/31

    Cdigo

    realmente necessrio? Quem nunca viu um main esttico?? Que tal algo novo??

    Algum sabe como instalar e executar umaaplicao Java no Windows CE/Mobile?

    Ok, vocs venceram.. Cdigo!

  • 8/2/2019 Caelum - Conexao - Java Me

    24/31

    Telas da aplicao

  • 8/2/2019 Caelum - Conexao - Java Me

    25/31

    Mais telas..

    A li d

  • 8/2/2019 Caelum - Conexao - Java Me

    26/31

    Aplicao deVerdade!

  • 8/2/2019 Caelum - Conexao - Java Me

    27/31

    Screen Shots

  • 8/2/2019 Caelum - Conexao - Java Me

    28/31

    Mais telas

    P bl

  • 8/2/2019 Caelum - Conexao - Java Me

    29/31

    Problemas a seconsiderar

    Memria RAM Cartes de memria Problemas em aplicaes comerciais que s

    encontramos na hora errada!

  • 8/2/2019 Caelum - Conexao - Java Me

    30/31

    Ufa...

    Perguntas?!?!?!

  • 8/2/2019 Caelum - Conexao - Java Me

    31/31

    Obrigado!