GOTO. Project treinamento expresso j2me Luiz Carlos d´Oleron lcadb at cin.ufpe.br
J2ME Plataforma Java para desenvolvimento de aplicativos para dispositivos móveis (mobile devices) Plataforma Java para desenvolvimento de aplicativos para dispositivos móveis (mobile devices) Menos recursos: Menos recursos: Memória Memória Espaço em disco e persistência Espaço em disco e persistência Processamento Processamento Comunicação Comunicação Tela reduzida Tela reduzida Teclado reduzido Teclado reduzido Sem Ponto Flutuante e Ramdom Sem Ponto Flutuante e Ramdom
J2ME e a plataforma Java
Desenvolvendo Aplicativos J2ME
Pacotes disponíveis java.lang java.lang.ref (somente CLDC1.1) java.io java.util javax.microedition.io javax.microedition.lcdui javax.microedition.lcdui.game (somente na 2.0) javax.microedition.media (somente na 2.0) javax.microedition.media.control (somente na 2.0) javax.microedition.midlet javax.microedition.rms javax.microedition.pki (somente na 2.0)
Midlets Applets são aplicativos Java para rodar em Navegadores Web Applets são aplicativos Java para rodar em Navegadores Web Servlets são aplicativos Java que rodam em servidores Servlets são aplicativos Java que rodam em servidores Em J2ME, temos os Midlets Em J2ME, temos os Midlets Midlets são Classes java comuns, que extendem a Classe Midlet do pacote javax.microedition.midlet Midlets são Classes java comuns, que extendem a Classe Midlet do pacote javax.microedition.midlet
Configurando o Ambiente Baixar o Eclipse ( Baixar o Eclipse ( Baixado, é só descompactar, configurar JVM, etc... Baixado, é só descompactar, configurar JVM, etc... Baixar o WTK (Wireless ToolKit) Baixar o WTK (Wireless ToolKit) O 2.2 da Sun é uma boa opção ( ex.jsp) O 2.2 da Sun é uma boa opção ( ex.jsp) Instalar o WTK (Next, Next, Acept, OK, Yes...) Instalar o WTK (Next, Next, Acept, OK, Yes...) Instalar o plugin do eclipseme ( Next, Acept, OK, Yes...) Instalar o plugin do eclipseme ( Next, Acept, OK, Yes...)
Configurando o Eclipse Após instalar o WTK, você deve configurar o Eclipse Após instalar o WTK, você deve configurar o Eclipse Window -> Preferences -> J2ME Window -> Preferences -> J2ME
Configuração do Eclipse
Criando um projeto File -> New -> Other -> J2ME - >Project_J2ME Midle Suite File -> New -> Other -> J2ME - >Project_J2ME Midle Suite
Criando um MIdlet File -> New -> Project J2ME-> Midlet File -> New -> Project J2ME-> Midlet
ExemploMidlet
Executando o MIDlet
Ciclo de Vida
Interface de Alto Nível Apesar de possuir poucos recursos Apesar de possuir poucos recursos E possuir compromisso com a portabilidade E possuir compromisso com a portabilidade J2ME possui uma interessante API nativa para Criar interfaces gráficas baseadas em formulários e botões J2ME possui uma interessante API nativa para Criar interfaces gráficas baseadas em formulários e botões
Interface de Alto Nível
Outros componentes Textbox Tickers Forms Item Lists Imagens Alerts
Interface de Baixo Nível Apesar de disponibilizar componentes prontos para serem utilizados facilmente na contrução de GUI´s (meio sebosas mas GUI´s) Apesar de disponibilizar componentes prontos para serem utilizados facilmente na contrução de GUI´s (meio sebosas mas GUI´s) J2ME permite que dessamos o nível e printemos nossas próprias telas J2ME permite que dessamos o nível e printemos nossas próprias telas Calma, é Java, o método Calma, é Java, o método protected void paint(Graphics g) lhe diz algo? =)
Desenhando com Canvas
Plugando nosso Canvas no MIDlet
Demais recursos Conexão Genérica Conexão Genérica Persistência RMS (estou sem saco pra falar) Persistência RMS (estou sem saco pra falar)
Conexão Genérica OTA(Over The Air) lentas, pouco confiáveis intermitentes dificulta transmissão de dados entedia o usuário Recursos Disponíveis em javax.microedition.io
Conexão Genérica A implementação de uma conexão em J2ME é muito genérica Teoricamente, qualquer protocolo pode ser utilizado Na prática, a especificação só exige que uma implementação J2ME dê suporte para HTTP
HTTP Protocolo de comunicação Protocolo de comunicação Possui diversos métodos (não confunda com métodos de classes!) Possui diversos métodos (não confunda com métodos de classes!) J2ME dá suporte somente à GET, POST e HEAD J2ME dá suporte somente à GET, POST e HEAD
HTTPMidlet
Saída esperada
Dúvidas?
Atividade Em dupla Em dupla Cada dupla desenvolve um Midlet com algum recurso interessante (visto aqui ou não) Cada dupla desenvolve um Midlet com algum recurso interessante (visto aqui ou não) Depois apresenta pra todo mundo! Depois apresenta pra todo mundo!