Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Lio 1
Introduo
JEDITM
Autor
A. Oliver de Guzman
Equipe
Rommel Feria
John Paul Petines
Processador
Memria
HD Livre
Microsoft Windows
512 MB
850 MB
Linux
512 MB
450 MB
Solaris OS (SPARC)
512 MB
450 MB
Solaris OS (x86/x64
Platform Edition)
512 MB
450 MB
Mac OS X
PowerPC G4
512 MB
450 MB
Memria
HD Livre
Processador
Microsoft Windows
1 GB
1 GB
Linux
1 GB
850 MB
Solaris OS (SPARC)
1 GB
850 MB
Solaris OS (x86/x64
Platform Edition)
1 GB
850 MB
Mac OS X
PowerPC G5
1 GB
850 MB
Requerimentos de Software
NetBeans Enterprise Pack 5.5 executando sobre Java 2 Platform Standard Edition
Development Kit 5.0 ou superior (JDK 5.0, verso 1.5.0_01 ou superior), contemplando
a Java Runtime Environment, ferramentas de desenvolvimento para compilar, depurar,
e executar aplicaes escritas em linguagem Java. Sun Java System Application Server
Platform Edition 9.
Para Solaris, Windows, e Linux, os arquivos da JDK podem ser obtidos para
sua plataforma em http://java.sun.com/j2se/1.5.0/download.html
Para Mac OS X, Java 2 Plataform Standard Edition (J2SE) 5.0 Release 4, pode
ser obtida diretamente da Apple's Developer Connection, no endereo: http://
developer.apple.com/java ( necessrio registrar o download da JDK).
Para mais informaes: http://www.netbeans.org/community/releases/55/relnotes.html
JEDITM
Fbio Bombonato
Fabrcio Ribeiro Brigago
Francisco das Chagas
Frederico Dubiel
Herivelto Gabriel dos Santos
Jacqueline Susann Barbosa
Joo Vianney Barrozo Costa
Kefreen Ryenz Batista Lacerda
Kleberth Bezerra G. dos Santos
Leandro Silva de Morais
Leonardo Ribas Segala
Lucas Vincius Bibiano Thom
Luciana Rocha de Oliveira
Auxiliadores especiais
Reviso Geral do texto para os seguintes Pases:
Coordenao do DFJUG
Agradecimento Especial
John Paul Petines Criador da Iniciativa JEDITM
Rommel Feria Criador da Iniciativa JEDITM
JEDITM
1. Objetivos
Nesta lio, discutiremos as caractersticas dos dispositivos mveis e a forma de iniciar o
desenvolvimento de aplicaes para estes dispositivos. Realizaremos uma introduo Java
Platform, Micro Edition (Java ME) incluindo a importncia das configuraes e perfis.
Ao final desta lio, o estudante ser capaz de:
JEDITM
2. Dispositivos Mveis
Dispositivos mveis podem variar em tamanho, projeto e layout, mas eles possuem algumas
caractersticas em comum que so totalmente diferentes de sistemas desktop.
Pequenos em tamanho
Dispositivos mveis so pequenos em tamanho. Consumidores desejam dispositivos pequenos
pela mobilidade e convenincia.
Memria Limitada
Dispositivos mveis tambm possuem pouca memria, tanto primria (RAM) quanto
secundria (disco). Esta limitao um dos fatores que afetam a escrita de classes para estes
tipos de dispositivos. Com quantidade limitada de memria, devemos fazer consideraes
especiais acerca da conservao no uso de recursos preciosos.
Robusto e confivel
Por serem dispositivos mveis provavelmente sero carregados. Precisam ser robustos o
suficiente para suportarem a fora de impacto, movimento e ocasionalmente quedas.
Conectividade limitada
Dispositivos mveis tm baixa largura de banda, alguns deles no suportam conexo. Outros
destes usam conexes de rede sem fio.
JEDITM
aplicaes desktop
Java EE Java Platform, Enterprise Edition aplicaes corporativas com nfase no modelo de
desenvolvimento server-side incluindo servlets, JSP,
EJB e XML
Java ME Java Platform, Micro Edition
mveis e dispositivos de mo
JavaCard
Servidores
Servers
Mquinas
desktop
Dispositivos
de alto
consumo
Pacotes
Opcionais
Pacotes
Opcionais
Dispositivos
de baixo
consumo
Cartes
com chip
Java EE
Personal Profile
Java SE
Foundation Profile
MIDP
CDC
CLDC
Java
Card
KVM
Card VM
1: A plataforma
Java
6
JEDITM
Aplicaes
Pacotes
Opcionais
Perfis
Configurao
OEM
APIs
Bibliotecas
Mquina Virtual Java
2: Arquitetura do JME
Um perfil adiciona uma biblioteca para certas classes de dispositivos. Os perfis fornecem
bibliotecas da API de interface com o usurio, persistncia e mensagens, entre outras.
Um conjunto ou pacote opcional de bibliotecas que fornecem classes funcionais adicionais. A
incluso destes pacotes no JME pode variar porque depende da capacidade do dispositivo. Por
exemplo, alguns dispositivos MIDP no possuem Bluetooth, logo as APIs de Bluetooth no so
includas nestes dispositivos.
3.3 Configurao
Uma configurao define caractersticas mnimas de um ambiente de execuo Java completo.
Para garantir tima portabilidade e interoperabilidade entre vrios tipos de requisitos de recursos
de dispositivos (restries de memria, processador e conexo), as configuraes no contm as
mesmas caractersticas opcionais. Uma configurao JME define um complemento mnimo da
tecnologia Java. Ela baseia-se nos perfis para definir bibliotecas adicionais (opes possveis) para
uma determinada categoria de dispositivo.
Uma configurao define:
JEDITM
3.4 Perfis
Um perfil define um conjunto adicional de bibliotecas e caractersticas de empresas, de categoria,
de dispositivo ou de indstria. Enquanto uma configurao define uma base de bibliotecas, perfis
definem as bibliotecas que so importantes para construir aplicaes efetivas. Estas bibliotecas
incluem a interface com o usurio, comunicao em rede e classes de armazenamento.
JEDITM
4. CLDC
A Configurao de Dispositivos de Conexo Limitada (Connected Limited Device Configuration
CLDC) define e enderea as seguintes reas:
Input/Output (java.io.*)
Segurana
Comunicao em rede
Internacionalizao
excees assncronas
reflexo
Reflexo, Java Native Interface (JNI) e carregadores de classes definidas pelo usurio so
potenciais falhas de segurana. JNI exigem muita memria e pode no ser suportada por
dispositivos mveis de pouca memria.
no mnimo 192kb de memria para a plataforma Java (160kb de memria no-voltil para
Mquina Virtual e bibliotecas e 32kb de memria voltil para execuo da Mquina Virtual)
processador de 16 ou 32 bits
A CLDC no define instalao da aplicao e ciclo de vida, interfaces com o usurio e tratamento
de eventos. Est para os perfis abaixo da CLDC definir estas reas. Em particular, a especificao
MIDP que define uma aplicao de MIDP (MIDlet) que possui um ciclo de vida, biblioteca Grfica
e controle de eventos (classes javax.microedition.lcdui.*).
JEDITM
File.java
Instalao
compilar (javac)
verificar
(execuo)
File.class
interpretar
pr-verificar
File.class
Mquina de
Desenvolvimento
Figura
3: Processo
Dispositivo
Connection
StreamConnectionNotifier
DatagramConnection
InputConnection
OutputConnection
StreamConnection
ContentConnection
10
JEDITM
5. CDC
A Configurao de Dispositivo Conectada (CDC - Connected Device Configuration) um superconjunto da CLDC. Ela prov um ambiente de execuo Java mais amplo que o da CLDC e um
ambiente mais prximo do da JSE.
A Mquina Virtual Java CDC (ou CVM) uma Mquina Virtual Java completa. A CDC contm todas
as APIs da CLDC. Ela prov um subconjunto maior das classes da JSE.
Como a CLDC, a CDC no define nenhuma classe de interface com o usurio. As bibliotecas de
interface com o usurio so definidas pelos perfis desta configurao.
As classes includas na CDC vm dos seguintes pacotes:
java.io
java.lang
java.lang.ref
java.lang.math
java.net
java.security
java.security.cert
java.text
java.util
java.util.jar
java.util.zip
CDC tambm inclui o Framework de Conexo Genrica. Ela requer tipos de conexo adicionais
como suporte para arquivo e datagrama.
11
JEDITM
6. JWTI
A Tecnologia Java Para a Indstria Sem Fio (JWTI - Java Technology for the Wireless Industry)
especifica um conjunto de servios e especificaes padro. De acordo com a especificao JWTI,
seu principal objetivo "minimizar a fragmentao de APIs no mercado de telefones celulares, e
entregar uma especificao clara e previsvel para os fabricantes de dispositivos, operadores e
desenvolvedores de aplicao".
Por atenderem JWTI, as aplicaes rodaro em um conjunto maior de dispositivos. Os
fabricantes de dispositivos iro se beneficiar tambm porque um conjunto maior de aplicaes
estar disponveis para seus dispositivos.
MIDlets
MIDP 2.0
WMA
1.1
MMAPI Pacotes
1.1
Opcionais
OEM
APIs
12
JEDITM
7. MIDP
O Perfil de Dispositivo de Informao Mvel (MIDP - Mobile Information Device Profile) contrudo
sobre a CLDC. No se deve escrever aplicaes mveis teis apenas usando as APIs CLDC. na
MIDP que as APIs de interface com o usurio so definidas.
A especificao MIDP, assim como a CLDC e outras APIs, foi definida atravs do Java Community
Process (JCP). Foi envolvido um grupo de profissionais de mais de 50 empresas, composta de
fabricantes de dispositivos mveis, operadoras e desenvolvedores de software. A MIDP est
continuamente evoluindo, com futuras verses passando pelo mesmo rigor do processo do JCP.
Verses futuras do MIDP tero compatibilidade com as verses anteriores, como no caso do
MIDP1 e MIDP 2.0.
A especificao MIDP define que um dispositivo MID deve ter as seguintes caractersticas, no
mnimo:
Visor:
Tamanho da Tela: 96x54
Profundidade do Visor: 1-bit
Pixel aspect ratio: aproximadamente 1:1
Entrada:
Um ou mais dos seguintes mecanismos de entrada: teclado de uma mo, teclado de duas
mos ou tela de toque
Memria:
256 kilobytes de memria no voltil para a implementao MIDP, mais o que for requerido
pela CLDC
8 kilobytes de memria no voltil para os dados persistentes criados pela aplicao
128 kilobytes de memria voltil para o ambiente Java (ex. Java heap)
Rede:
Sem fio, duas vias, possivelmente intermitente, com largura de banda ilimitada
Som:
A habilidade de tocar sons, via hardware dedicado ou via software
13
JEDITM
8. MIDlet
Uma aplicao MIDP chamada de MIDlet. O software de gerenciamento da aplicao (AMS Application Management Software) do dispositivo interage diretamente com o MIDlet com os
mtodos de criar, iniciar, pausar e destruir o MIDlet.
O MIDlet parte do pacote javax.microedition.midlet. Necessita estender a classe MIDlet. E pode
requisitar parmetros do AMS conforme definido no descritor da aplicao (JAD Java Application
Descriptor).
Um MIDlet no utiliza o mtodo public static void main(String[] args). Caso possua, este no ser
reconhecido pelo AMS como o ponto de incio do programa.
new
destroyApp()
startApp()
Pausado
Destrudo
Ativo
pauseApp()
destroyApp()
14
JEDITM
9. Exerccios
9.1. Quais so as vantagens do uso de Java como plataforma de
desenvolvimento e execuo para os dispositivos mveis?
para
escrever
novos conhecimentos
fator diverso
para
programas
para
15
os
JEDITM
Instituto CTS
Patrocinador do DFJUG.
Sun Microsystems
Fornecimento de servidor de dados para o armazenamento dos vdeo-aulas.
Java Research and Development Center da Universidade das Filipinas
Criador da Iniciativa JEDITM.
DFJUG
Detentor dos direitos do JEDITM nos pases de lngua portuguesa.
Banco do Brasil
Disponibilizao de seus telecentros para abrigar e difundir a Iniciativa JEDITM.
Politec
Suporte e apoio financeiro e logstico a todo o processo.
Borland
Apoio internacional para que possamos alcanar os outros pases de lngua
portuguesa.
Instituto Gaudium/CNBB
Fornecimento da sua infra-estrutura de hardware de seus servidores para que os
milhares de alunos possam acessar o material do curso simultaneamente.
16