Este é um post disponível para assinantes MVPArtigo Java Magazine 46 - Programação Java EE: Parte 3
Artigo publicado pela Java Magazine edição 46.

Atenção: por essa edição ser muito antiga não há arquivo PDF para download.Os artigos dessa edição estão disponíveis somente através do formato HTML.
Programação Java ME
Parte 3: programando com a LCDUI, e mais
Conheça a API de interface de usuário da MIDP, e comece a explorar técnicas de programação e características de desempenho de dispositivos limitados, além de ver como utilizar mais uma ferramenta, o NetBeans Mobility Pack.
Osvaldo Pinali Doederlein
Nesta terceira parte do mini-curso de programação para Java ME/MIDP1, nosso fogo muda para codificação e APIs. Começamos explorando uma das necessidades fundamentais de qualquer aplicação: a interface com o usuário.
As aplicações Micro Edition também necessitarão de outras coisas como estruturas de dados, I/O, threads e por aí vai. Mas como estamos supondo que o leitor já tem conhecimentos de programação
· Há algumas APIs que foram simplificadas para caber nos dispositivos (ex.: coleções). Isso exige que aprendamos a contornar algumas limitações. Por exemplo, como a java.util do MIDP não tem coleções Set, podemos usar uma Hashtable2 com a chave igual ao valor.
· Outras APIs, totalmente novas, oferecem funcionalidades ”verticais”, específicas à necessidade dos dispositivos. Um bom exemplo é a WMA (Wireless Messaging API), que permite enviar mensagens SMS/MMS.
· Finalmente, há APIs que têm correspondente na Java SE, mas foram totalmente reprojetadas para a plataforma Java ME, seja devido ao tamanho excessivo da API da Java SE, seja por causa da inadequação do seu design às especificidades dos dispositivos ME.
As APIs de interface gráfica (GUI) pertencem à terceira categoria. Iniciantes
E pelo critério de design, a Swing também é inadequada: por exemplo, ela pressupõe que todos os componentes serão desenhados por código Java, faz double buffering de tudo, possui um sistema de look-and-fells sofisticado, uma arquitetura MVC robusta. Essas e outras características tornam a Swing extremamente flexível e poderosa. Mas também a tornam pesada para dispositivos com CPU fraca, RAM apertada e JVMs menos avançadas.
O projeto MicroMandel
Para exercitar a programação de GUIs com a API LCDUI, o ideal é um projeto combinando dois tipos de código: telas do tipo “formulário” de entrada/saída de dados convencionais, usando componentes tais como checkbox, texto editável, menus etc.; e telas “desenhadas”, aplicando as APIs gráficas de baixo nível: desenho de linhas,textos,polígonos;uso de preenchimentos etc.
Quem lê esta coluna há anos talvez lembre que seu autor gosta de gráficos fractais. Aproveitei esta oportunidade para reciclar o meu modesto gerador de gráficos de Mandelbrot (já apresentado na Edição 19, no artigo “Matemática em Java”.) Vamos então construir uma aplicação com duas telas. A primeira é um formulário de entrada de dados, onde poderemos visualizar e opcionalmente alterar os parâmetros iniciais do gráfico. A segunda tela faz a exibição do gráfico.
Para construir esta aplicação, inicialmente utilizaremos o NetBeans com o Mobility Pack, conjunto que se destaca pelo seu suporte avançado para Java ME. O NetBeans permite criar GUIs MIDP de forma visual, sendo ideal para muitos tipos de aplicações centradas em formulários.
Vamos apresentar as etapas e as telas do NetBeans, mas o artigo não é exclusivo para usuários deste IDE. Mostraremos também o código gerado, que poderá ser usado com qualquer IDE com suporte a Java ME. Portanto, este artigo da série é “otimizado” para o NetBeans mas é “portável” para outros IDEs. (Ao final desta parte encerramos a cobertura de IDEs, que já contemplou o Eclipse na edição anterior. A partir do próximo artigo, falaremos só de APIs e técnicas de programação.)
Instalando o NetBeans e o Mobility Pack
Para este artigo, utilizei o NetBeans 5.5. Você precisará baixar e executar, na seqüência, os instaladores do IDE e o Mobility Pack. (Quando o NetBeans 6.0 estiver pronto, deverá haver um novo instalador unificado em "
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Space do autor


0
0
