Este artigo ensina como utilizar a API do Android para criar controles visuais, mostrar um menu no aplicativo, exibir caixas de diálogo e utilizar temporizadores (timers) para responder a eventos após um intervalo de tempo. Também aborda o uso das ferramentas da SDK do Android para depurar programas e encontrar problemas.
Para que serve
O Android é um dos líderes do mercado de Smartphones, rodando em telefones, tablets e netbooks com hardware poderoso e preço acessível. Saber como desenvolver aplicativos para esta nova plataforma é muito útil tanto para criar novos produtos, como para portar projetos existentes.
Em que situação o tema é útil
Muitos programadores e empresas envolvidos com a tecnologia Delphi possuem um grande repositório de bibliotecas, funções e código-fonte em geral escrito em Pascal. As técnicas aqui apresentadas permitem que este código bem testado seja reutilizado ao criar novos projetos Android ou então portar projetos para esta plataforma, reutilizando o conhecimento prévio de programação Pascal e evitando gastos desnecessários reescrevendo código.
Programação Android
Aplicativos Pascal nativos podem rodar em smartphones e tablets Android, desde que sejam encapsulados num pacote APK. Este pacote deve conter o executável Pascal e também um aplicativo Java que irá intermediar a comunicação entre o programa e as APIs do Android. Para compilar o programa é necessário instalar um cross-compilador Free Pascal, criar uma estrutura de arquivos comum a projetos Android e utilizar o utilitário “ant” para compilar o projeto. Instruções detalhadas para compilar um projeto Pascal para Android foram mostradas no artigo anterior desta série. Neste vamos abordar a criação de interface, conhecer os controles que permitem dinamismo na exibição de dados. Além disso, é apresentado também como realizar depuração de código para detecção de problemas
No artigo anterior, a arquitetura geral do sistema operacional Android e a configuração do ambiente de desenvolvimento para criar aplicativos deste sistema foram detalhadas. Também foram mostradas as vantagens da plataforma Android, dentre as quais se destacam a disponibilidade de celulares poderosos e baratos rodando o sistema (por exemplo, o HTC Wildfire), a grande penetração da plataforma no mercado e os baixos preços cobrados pelo Google para participar no Android Market, além da ausência de restrições arbitrárias para participar neste mercado. De fato, segundo uma pesquisa da Canalys, empresa especializada em análises do mercado de alta tecnologia, a plataforma Android é a mais popular dentre todas as plataformas de smartphones com uma fatia de 33% do mercado global de smartphones. Em segundo lugar vem o sistema Symbian com 30%, em terceiro o iPhone com 16% e em quarto o Blackberry com 14%. É claro que como esses dados são globais, em cada país haverá diferenças. Também é importante notar que os celulares baratos sem um sistema operacional de smartphone não são contados, pois a pesquisa é apenas para smartphones. O link para o relatório pode ser visto no final deste artigo.
Com base no cross-compilador Free Pascal instalado seguindo as instruções do artigo anterior, agora é possível explorar as possibilidades da API do Android e efetivamente escrever programas em Pascal para esta plataforma. Em especial serão detalhadas as APIs para o desenvolvimento de interfaces de usuário. Com as APIs do Android é possível exibir texto na tela, criar botões, caixas de entrada de texto e todos outros controles já conhecidos dos aplicativos Windows. Todos estes controles precisam ser ordenados dentro de layouts, que são elementos que controlam como eles serão dispostos na tela.
Os principais layouts são o layout linear, o absolute e o em tabela. O layout linear ordena os elementos um embaixo do outro, esticando-os para que ocupem a largura total da tela. Este é o mais usado em interfaces de usuário simples. O layout absoluto permite que se forneçam valores absolutos em pixels ou outras unidades para a posição e o tamanho dos controles e o layout em tabela permite que se disponham os elementos num formato de tabela, como é feito frequentemente em páginas HTML.
Neste artigo os dois primeiros serão detalhados. Também é possível criar menus, caixas de texto e temporizadores. Será mostrado como criar esses elementos, além das particularidades deles. Depois será mostrado ainda como configurar o Linux para poder debugar aplicativos Android com sucesso, lendo o log de depuração do Android. Também é possível escrever informações de debug para este log.
O Layout Linear
A interface de usuário no sistema Android é bem diferente do que usuários de outras plataformas estão acostumados. Nas plataformas para computadores pessoais, como o Windows, Linux e Mac OS X, os programas são feitos criando-se controles com tamanhos fixos num determinado número de pixels. Caso a resolução da tela do usuário seja maior que a planejada, não há problema, simplesmente é possível colocar mais programas na mesma tela e atualmente telas com resolução menor que 800x600 são raras. Desse modo é possível desenhar a interface de usuário com um tamanho fixo e ela irá funciona bem em praticamente qualquer ambiente. A única exceção é a necessidade de manter alguma flexibilidade para permitir que o usuário utilize uma fonte maior ou para traduções com textos maiores que os esperados.
Em plataformas voltadas para telefones e tablets, como é o caso do Android, esse problema é muito, mas muito mais difícil de ser resolvido, pois o mesmo programa precisa rodar num minúsculo Xperia Mini, mas também precisa rodar num tablet grandão, como o Folio 100 da Toshiba. Por isso mesmo o Android utiliza layouts flexíveis, sem tamanhos fixos. O layout mais popular no Android é o linear, que consiste basicamente em dispor elementos em linhas.
...