Java ME simples e fácil com J2ME Polish
-
Upload
mauricio-linhares -
Category
Technology
-
view
2.243 -
download
2
Transcript of Java ME simples e fácil com J2ME Polish
![Page 1: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/1.jpg)
Java ME simples e fácil com J2ME Polish
Maurício Linhares
![Page 2: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/2.jpg)
Write once, run anywhereÉ
verdade! Eu juro!
![Page 3: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/3.jpg)
Tem telas de tamanhos diferentes...
Conjuntos de cores diferentes...
Toolkits gráficos diferentes...
Teclados diferentes...
Conexões a rede diferentes...
Os celulares...
![Page 4: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/4.jpg)
Bibliotecas disponíveis diferentes...
Capacidades de memória diferentes...
Dispositivos diferentes...
Usuários diferentes...
Os celulares tem...
![Page 5: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/5.jpg)
E você tem um chefe...Essa coisa tem que rodar em 30 celulares diferentes!
![Page 6: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/6.jpg)
...e a aplicação vai ficar horrível;
...e você vai ter que escrever um monte de código pra fazer besteiras (ArrayList? Esqueça);
...e você vai ter que cuidar pra não usar nenhum dispositivo (Áudio? Vídeo? GPS? Esqueça);
...e quem garante que isso vai resolver? Talvez você ainda tenha que fazer um build por celular...
Você pode fazer tudo usando só MIDP 1.0
![Page 7: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/7.jpg)
Olha só que beleza!
![Page 8: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/8.jpg)
A quem eu vou vender isso?
![Page 9: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/9.jpg)
Mas não tenha medo!É, uma
tartaruga, sacou?
![Page 10: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/10.jpg)
E o que é o J2ME Polish?
Um conjunto de bibliotecas open source e ferramentas para facilitar o desenvolvimento de aplicações Java ME;
![Page 11: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/11.jpg)
Baseada no Ant (são scripts do Ant);
Seleção de dispositivos a serem utilizados;
Pré-processamento (diretivas de compilação);
Compilação de pre-verificação;
Ofuscadores de código;
Geração de arquivos JAD e JAR para CADA dispositivo de forma automática;
Ferramenta de build
![Page 12: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/12.jpg)
<deviceRequirements if="test"> <requirement name="Identifier" value="Nokia/6600" />
</deviceRequirements>
<deviceRequirements unless="test"> <requirement name="JavaPackage" value="nokia-ui" /> <requirement name="BitsPerPixel" value="4+" />
</deviceRequirements>
Definindo dispositivos e capacidades
![Page 13: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/13.jpg)
//#if !basicInput && (polish.hasPointerEvents) doSomething();
//#if polish.BitsPerPixel >= 8 doSomethingColorful();
//#else doSomethingDull();
//#endif //#elifdef doWildStuff
doWildStuff(); //#endif
Fazendo compilação condicional
![Page 14: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/14.jpg)
Contém a maior parte dos dispositivos com suporte a Java ME;
Guarda as características de cada dispositivo;
Você pode utilizar o dispositivo junto com as diretivas de compilação;
Banco de dados de dispositivos
![Page 15: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/15.jpg)
Estilos definidos com CSS;
A aplicação funciona com “temas” que podem ser alterados sem a necessidade de alterar o código;
Funcionam em MIDP 1.0 e 2.0 (e você ainda pode usar os componentes do 2.0 no 1.0, como os CustomItems);
Biblioteca de componentes gráficos
![Page 16: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/16.jpg)
Uma nova fonte, a BitMapFont;
Fundos animados, menus animados, “canvas” em tela cheia, novos componentes;
Otimizados para dispositivos específicos;
Biblioteca de componentes gráficos
![Page 17: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/17.jpg)
Quer ver uma aplicação gráfica?
![Page 18: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/18.jpg)
Você pode usar a engine de jogos do MIDP 2.0 em dispositivos MIDP 1.0;
A engine tem diversas otimizações específicas para melhorar a performance;
Você não precisa reescrever o código para diferentes dispositivos;
Engine de jogos
![Page 19: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/19.jpg)
Suporte completo a I18N sem nenhum overhead para o celular;
A localização pode ser feita diretamente no código antes de ser compilado ou pode ser alterada dinamicamente na aplicação;
Imagens, sons, formatações, tudo pode ser incluído na localização;
Biblioteca de internacionalização e localização
![Page 20: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/20.jpg)
Salve objetos como se eles fossem serializados, sem toda a complicação do RMS;
Para tornar um objeto serializável basta defini-lo como Serializable;
Todo o código necessário para fazer a serialização e carregar o objeto novamente é gerado automaticamente;
Serialização de objetos em dispositivos com suporte a RMS
![Page 21: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/21.jpg)
Usar generics em qualquer uma das coleções disponíveis;
Usar o loop for-each;
Usar enums;
Suporte a auto-boxing;
Suporte a sintaxe do Java 5
![Page 22: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/22.jpg)
Você pode invocar métodos em objetos remotos como se estivesse utilizando RMI;
Só é necessário ter um servidor web Java comum;
Todas as chamadas são feitas via HTTP pelo celular;
No servidor você simplesmente implementa um servlet;
Invocação remota de métodos
![Page 23: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/23.jpg)
BitMapFont;
ArrayList;
Suporte a ponto flutuante em celulares CLDC 1.0;
TextUtil – Utilitários para Strings;
Classes utilitárias e complementos
![Page 24: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/24.jpg)
As novidades do J2ME Polish ocupam espaço e trazem novas classes para a máquina virtual do dispositivo;
A licença básica é GPL, você pode pagar pela licença comercial ou entrar em um modo de licença cooperativa;
É um bocado de coisa pra se aprender =P
Mas nem tudo são flores...
![Page 25: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/25.jpg)
JavaFX Mobile;
Adroid (Google);
E o que ficou fora disso tudo?
![Page 26: Java ME simples e fácil com J2ME Polish](https://reader035.fdocument.pub/reader035/viewer/2022062523/58edc0a11a28ab253b8b4675/html5/thumbnails/26.jpg)
Dúvidas?