Artigo WebMobile 26 - 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.
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Mobile magazine 26
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.
|
|
|
|
Figura 1. DateField sendo executado no emulador da Série 80 da Nokia. |
Figura 2. DateField apresentado em um emulador de telefones LG. |
No que diz respeito à utilização das classes Canvas e Graphics, destaca-se como ponto forte a portabilidade visual entre diferentes plataformas, ou seja, uma interface visual será apresentada da mesma maneira em diferentes aparelhos (isso se o desenvolvedor manter a proporção dos componentes visuais em relação à altura e largura de tela). Porém, essa abordagem apresenta alguns pontos fracos, como a dificuldade de sua utilização por desenvolvedores leigos e um maior tempo para a codificação das interfaces.
As Listagens 1 e 2 apresentam os códigos para criar uma mesma interface visual, a primeira utilizando os componentes de alto nível (Form e TextField), e a segunda utilizando códigos referentes as classes Canvas e Graphics.
Listagem 1. Criação de um campo de texto utilizando componentes Form e TextField.
1. fmMain = new Form("Ex TextField");
2. tfEx = new TextField("Nome: ", "", 100, TextField.ANY);
3. fmMain.append(tfEx);
Listagem 2. Criação de um campo de texto utilizando Graphics e Canvas.
1. g.setColor(255, 255, 255);
2. g.fillRect(0, 0, getWidth(), getHeight());
3.
4. g.setColor(0, 0, 0);
5. g.drawString("Nome: ", 2, 2, Graphics.TOP|Graphics.LEFT);
6.
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Clique aqui e acesse o Leitor Digital DevMedia para ler este artigo completo.

Space do autor


Devmedia - Equipe De Moderação
Estudo comparativo entre banco de dados IBM Informix e Microsoft SQL

0
0
Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!