Atenção: esse artigo tem um vídeo complementar. Clique e assista!
Este artigo apresenta os primeiros passos para o desenvolvimento de interfaces visuais com a nova plataforma Android. No artigo são apresentados os principais gerenciadores de layout e os principais componentes visuais que podem ser utilizadas por aplicações móveis. Um conhecimento prévio sobre a IDE Netbeans e o SDK Android são desejáveis.
Para que serve:
Este artigo pode ser utilizado por desenvolvedores móveis que desejam conhecer a plataforma Android, especialmente seus recursos para desenvolvimento de interfaces visuais.
Em que situação o tema é útil:
É útil para desenvolvedores
iniciantes na tecnologia Android ou programadores que vêem de outras tecnologias
móveis, como JavaME, permitindo a estes desenvolver interfaces ricas para
dispositivos móveis, como Smartphones.
Autores: Robison
Cris Brito e
Neste artigo será apresentado o desenvolvimento de interfaces gráficas para dispositivos móveis com Android. Para os exemplos desenvolvidos ao longo do artigo, será utilizado a IDE de desenvolvimento Netbeans, integrado com o Android SDK.
Os programadores que já trabalham com outras linguagens de programação para dispositivos móveis, como por exemplo Java ME, conhecem as limitações destas linguagens com relação à interface visual com o usuário. São poucos componentes, simples, e muitas vezes não é possível nem mesmo trocar suas cores, alinhá-los na tela ou modificar tamanhos/cores das letras.
Essa limitação ocorre porque muitas dessas linguagens foram desenvolvidas há muitos anos, na época em que os dispositivos móveis eram muito limitados, porém, hoje em dia é comum encontrar aparelhos celulares com grande poder de processamento, com telas touch-screen, possuindo alta conectividade com a internet, e muitos outros recursos. Estes aparelhos são chamados hoje de smartphones.
Já a plataforma Android, que foi lançado recentemente, possui uma grande variedade de componentes visuais, possuis layouts sofisticados, componentes estilizados com efeitos visuais e conta com um modelo de desenvolvimento que facilita a construção dessas interfaces visuais.
Desenvolvimento de Interfaces Visuais
O Android oferece dois modos de criar interfaces gráficas para aplicativos móveis. O primeiro é definindo um arquivo xml que será carregado no início da aplicação, sendo que o desenho da tela é realizado em tempo de execução. Na segunda maneira, o desenho da interface acontece a partir da codificação dentro do próprio aplicativo, semelhante ao que acontece com outras plataformas de desenvolvimento móvel, como JavaME e .net mobile.
Para a plataforma Android, na maioria dos casos os desenvolvedores optam pelo uso do arquivo xml, por considerarem este mais simples.
Outra característica interessante da plataforma Android é a diferenciação entre componentes gerenciadores de layouts, esses chamados de ViewGroup, e os componentes visuais, chamados de View.
Os componentes da classe View, resumidamente, representam os componentes de uma interface gráfica. Uma View ocupa uma área retangular na tela e é responsável por desenhar e controlar os eventos de um componente, como por exemplo botões, caixas de texto, etc.
Já os componentes da classe ViewGroup são responsáveis pelo gerenciamento de layouts. O ViewGroup pode ser resumido a um container invisível que pode receber um ou mais Views (ou ainda outros ViewGroups). A estes podem ser atribuídas propriedades de layouts que permitem mudar a forma de visualização dos componentes. É semelhante às classes de Layout existentes em programas Java AWT e Swing (BorderLayout, FlowLayout, GridLayout, etc.) A Figura 1 apresenta a hierarquia de utilização de View e ViewGroup.
Figura 1. Hierarquia da utilização dos componentes Views e Views Group.
Como pode ser observado na Figura 1, um ViewGroup pode receber componentes View e também outros ViewGroup, este possuindo novos componentes View.
Gerenciadores de Layout
Gerenciadores de layout são classes que orientam o posicionamento dos componentes visuais na tela do dispositivo móvel. Dependendo do layout utilizado, características como altura e largura dos componentes podem ser alterados. Os principais gerenciadores de layout são: LinearLayout, AbsoluteLayout, TableLayout, RelativeLayout, FrameLayout e ScroolLayout.
...