Seminários .reply Introdução a JavaME Guilherme Carvalho
Seminários .replyIntrodução a JavaME
Guilherme Carvalho
Roteiro
NúmerosJavaMEPlataforma Wireless ToolkitMidletsImplementandoExtra .. FlashLite
Números
708 milhões de celulares rodando Java
635 modelos de celular com suporte a Java
32 fabricantes de celulares Java140 operadoras de telefonia movel
usando Java4,5 milhões de desenvolvedores Java
JavaME
Configurações (Configurations) Bibliotecas básicas e JVM Connected Limited Device Configuration
(CLDC) Baixo nível de processamento e memória (512kb) Celulares 2G, 2,5G
Connected Devide Configuration (CDC)Dispositivos com cerca de 2mb de RAM Alguns Celulares 3G, PDAs
JavaME Perfis (Profiles)
Coleção de APIs específicas Mobile Information Device Profile (MIDP)
CLDC Interação com usuário
• Otimiza display, inputs Persistência de dados Propriedades específicas do aparelho Conectividade
• HTTP, sockets, porta serial... Foundation Profile (rede), Personal Profile (AWT) e
Personal Basis Profile (GUI Básica)
JavaME
Pacotes opcionais CLDC ou CDC Específicos Modulares Exemplos
Conexão com BD, Envio de mensagens, Webservices, Bluetooth, Multimídia, kSOAP, kXML, Mail4ME...
A plataforma
Wireless Toolkit
CLDC + MIDP Emuladores Performance Documentação Exemplos
Midlets
Dispositivos de Informação Móveis abstract class MIDlet
Classe “executável” deve estender (única) Principais métodos
3 estados iniciado, pausado e destruído startApp(), pauseApp(), destroyApp()
Midlets são aplicações móveis em Java
Midlets
import javax.microedition.midlet.*;import javax.microedition.lcdui.*;public class OlaMidlet extends MIDlet implementsCommandListener { private Display display; //Referencia para o objeto Display private TextBox tbMain; //TextBoxpara mostrar a mensagem private Command cmSair; //Botão para sair do MIDlet
Midlets
public OlaMidlet() { display = Display.getDisplay(this); cmSair = newCommand("Sair",
Command.SCREEN, 1); tbMain = newTextBox("Bem Vindo", "Ola
Midlet", 50, 0); tbMain.addCommand(cmSair); tbMain.setCommandListener(this);}
Midlets //Chamada do gerenciador de aplicação para iniciar o Midlet. publicvoidstartApp() { display.setCurrent(tbMain); } //Requisição de método publicvoidpauseApp() { } //Outra requisição de método publicvoiddestroyApp(booleanunconditional) { } // Checa se o comando de saída foi selecionado publicvoidcommandAction(Commandc, Displayables) { if(c == cmSair) { destroyApp(false); notifyDestroyed(); } }}
Midlets
Midlets
ImplementandoInstalação
J2SE, WTK, IDERestringe-se as operações que podem ser
executadas a um conjunto de funções da API tão somente. Nenhuma outra operação é permitida.
CLDC (j2me\CLDCSpecification1.1.pdf) – Pág. 46 – Classes derivadas da J2SE
Webservices precisam de Pacotes Opcionais como kSOAP e kXML
Extra.. FlashLite
Maturidade Funcionalidades do Flash 7 Gerenciamento de memória Poucos aparelhos Não é free
Referências Desenvolvendo uma aplicação J2ME
http://www.devmedia.com.br/visualizaComponente.aspx?comp=2020&site=6 Java Platform, Micro Edition (Java ME) Overview
http://java.sun.com/javame/overview.html Uma visão geral
http://www.felipeandrade.org/blog/?p=10 Interação J2ME e PHP
http://www.javafree.org/javabb/viewtopic.jbb?t=2248 Developing for Palm Devices
http://www.jasonlam604.com/articles_developing_for_palm_devices_using_websphere_micro_environment.php
Optional Packages http://www.jasonlam604.com/articles_j2me_pda_optional_packages_file_connection.php
Introdução ao J2ME http://www.conexaojava.com.br/conexaojava04/download/minicursos/Java2.Micro.Edition-Conexao.Java.2004.pdf
Overview da Plataforma Java Micro Editionhttp://www.linhadecodigo.com.br/artigos.asp?id_ac=785
Revista WebMobile