Desmistificando o framework LWUIT para o desenvolvimento de interfaces ricas com Java ME
Cansou de trabalhar com os poucos componentes visuais que existentem no Java ME? Não gosta de desenhar interfaces visuais utilizando canvas? Então aprenda com esse artigo a desenvolver interfaces ricas em Java ME utilizando o framework LWUIT.
De que se trata o artigo:
O artigo apresenta o desenvolvimento de uma aplicação com interface rica para a plataforma Java ME através do framework LWUIT. Ao longo desse artigo será desenvolvida uma agenda eletrônica semelhante às existentes nos aparelhos celulares utilizando a interface gráfica do framework.
Para que serve:
Para todos os desenvolvedores de aplicativos móveis, principalmente os que utilizam a plataforma Java ME e não desejam ficar limitados aos componentes visuais existentes atualmente na versão 2.0 do perfil MIDP.
Em que situação o tema é útil:
Na construção de interfaces ricas para a plataforma Java ME.
Atualmente existem várias tecnologias para o desenvolvimento de aplicativos móveis, como Android, iPhone e WebOS, entretanto a plataforma que possui um maior número de desenvolvedores é sem dúvida a Java ME. Um reflexo disso é o fato da Nokia, uma das maiores fabricantes de telefones celulares, disponibilizar em praticamente todos os seus celulares a máquina virtual do Java.
Porém, a plataforma Java ME possui algumas limitações, dentre elas destaca-se o desenvolvimento de interfaces visuais.
Atualmente, o desenvolvedor Java ME tem duas possibilidades para criar a interface de sua aplicação: utilização de classes da hierarquia do pacote javax.microedition.lcdui (alto nível) ou utilização das classes Graphics e Canvas (baixo nível). A primeira opção traz um conjunto pequeno de componentes pré-configurados e de fácil utilização, como DateField, TextField, Label, ComboBox, dentre outros. O ponto forte (provavelmente o único) dessa opção é a facilidade na utilização dos componentes. Como pontos fracos destacam-se a falta de portabilidade visual (um mesmo componente pode ser apresentado de diferentes maneiras em diferentes plataformas de celulares) e a falta de opções para personalização dos componentes (muitos componentes não permitem modificar cores, estilos, fontes, etc.)
Abaixo é apresentado um exemplo típico de falta de portabilidade visual: a utilização do componente DateField em um aplicativo móvel. Este apresentado (em emuladores) nas plataformas: Série 80 da Nokia (Figura 1) e plataforma LG (Figura 2). Percebe-se que a diferença visual do mesmo componente em diferentes plataformas é muito grande.
">
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
Título: Aplicativos Mobile Payment através da Java ME
Duração: 00:48:54
Descrição: Esta palestra aborda o conceito de Mobile Payment, seu estado da arte no Brasil e no Mundo. Além disso, apresenta uma forma de fornecer este tipo de aplicativo com a plataforma Java ME.
A arquitetura
da plataforma Java ME da linguagem Java apresenta uma estrutura direcionada aos
dispositivos com poucos recursos computacionais, no que tange a quantidade de
memória e poder de processamento, porém, a plataforma não exclui totalmente
dispositivos considerados high-end.
Para isso, a
plataforma inclui o conceito de pacote opcionais,
permitindo que características como Bluetooth, geo-referenciamento, imagens vetoriais, móbile payment possam ser manipuladas pelos desenvolvedores de
aplicativos mobile. Cada um destes pacotes é
identificado por uma JSR (Java SpecificationRequest), gerenciado pela JCP (Java CommunityProcess).
Ultimamente, o
número de JSR´s aprovadas
pelo JCP vem aumento. No momento que este pequeno texto está sendo escrito, o
site oficial do JCP apresenta 83 JSRs para a
plataforma Java ME, sendo que nem todas estão aprovadas e prontas para uso da
comunidade.
Com tantas
possibilidades, os programadores podem se perguntar,
existe alguma delas que poderia ser indicada como a mais importante?
Talvez a JSR-82, que define o uso de comunicação sem fio através da tecnologia
Bluetooth, ou ainda, a Java Location API, devido a crescente oferta de serviços de geo-referenciamento? Bem, se vocês me permitem, digo que o
pacote opcional mais importante para o Java ME, não está dentre as JSR´s da JCP, e sim em uma toolkit
chamada LWUIT.
">
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
O número atual
de SGBD´s que os
desenvolvedores podem usar é extenso, porém, se filtrarmos por SGBD´s que também possam ser usados no ambiente móvel, este
número cai drasticamente. Neste pequeno texto, iremos falar brevemente do Java
DB, um banco de dados 100% Java que pode ser usado na plataforma Java SE, Java
EE e, inclusive na Java ME. O Java DB começou em 1996, com o projeto Cloudscape, em 2004 foi incorporado ao projeto Apache. Sua
idéia tem muitos pontos em comum com o DB2, tendo limites e características
semelhantes.
Para quem já
utiliza a linguagem Java, esta pode ser uma ótima opção, porque o Java DB é
construído 100% Java, além de ser recomendado pela Sun. Outras características
importantes do banco de dados:
Suporte ao JDBC
4;
Simples de
embarcar em uma aplicação (basta colocar o derby.jar no classpath de sua
aplicação);
Administração
zero para dispositivos móveis e muito simples para uso
desktop;
Tamanho médio
de 2MB
E sobre a
possibilidade de sua utilização com o Java ME? Porque o RMS ainda existe? Calma,
infelizmente o Java DB ainda não está disponível para a configuração CLDC,
somente para a CDC, versão 1.1. Há alguns pontos importantes que precisam ser
conhecidos. Se a versão do seu Java DB é menor que a 10.1.1, não existe suporte
para a Java ME. Se a versão é maior que a 10.1.1 e menor que a 10.3.1.4, CDC/FP
1.0 também é suportado. O Java DB tem suporte ao perfil FoundationProfile (FP) da CDC,
sendo assim, ela também oferece suporte aos perfis que são subconjuntos da FP,
como o PersonalBasisProfile.
A codificação é
mais próxima do uso JDBC no Java SE, do que a persistência de dados com o Record Management System. Veja a Listagem 1 com um pequeno trecho de código:
1:
EmbeddedSimpleDataSourceds
= new <
">
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
12/01/2009 5:45:00 PM
rogliariping@gmail.com
Atua no desenvolvimento de aplicações móveis com a plataforma Java ME a 5 anos. Bacharel em Ciência da Computação.