BT

AQuery: um jQuery para Android

por Jonathan Allen , traduzido por Rafael Sakurai em 27 Abr 2012 |

A popularidade do jQuery vem da redução significativa da quantidade de código necessária para desempenhar tarefas assíncronas e manipular o DOM. O novo projeto open source Android Query (AQuery) objetiva fazer o mesmo para os desenvolvedores que trabalham com Android. O exemplo a seguir está disponível no site do projeto e dá uma ideia da redução do código obtida com o AQuery:

Antes:

Depois:

O AQuery simplifica a chamada aos tratamentos de eventos. Em vez do desenvolvedor construir uma interface ou classe anônima, basta que escreva corretamente o nome do método de evento:

aq.id(R.id.button).clicked(this, "buttonClicked");

A fragmentação, causada pelos diferentes tamanhos de telas e versões de APIs no Android, dificulta o desenvolvimento para os dispositivos. O AQuery resolve alguns desses problemas encapsulando as partes que mudam em métodos ou classes. Por exemplo, o método aq.hardwareAccelerated11() verifica se o dispositivo suporta a API na versão 11 e permite habilitar a aceleração por hardware se for apropriado.

Quando se trabalha com diferentes tamanhos de telas, muitas vezes se inicia criando uma versão para tablet e então se remove ou reorganiza os controles até que encaixem em uma tela de celular. Desta forma, é necessário inspecionar visualmente a árvore de controles que foi criada no arquivo AXML, antes de tentar manipular os códigos-fonte. O AQuery permite que fazer verificações chamando métodos encadeados; por exemplo:

aq.id(R.id.address).text(name).background(R.color.red).textColor(R.color.black).enabled(true).visible().clicked(this, "addressClicked");

Se os endereços dos controles não existirem, serão ignorados todas as atribuições e tratamentos de evento seguintes. Dessa forma a depuração do código fica mais difícil, mas em compensação reduz-se drasticamente o número de linhas necessárias para criar o método onCreate().

O AQuery também facilita o processo de requisições HTTP assíncronas, ele suporta facilmente operações POST simples e multipartes; também pode aceitar dados binários, e em JSON, HTML e XML. Inclui também suporte diferenciado para imagens, em que apenas uma linha pode ser usada para baixar uma imagem, fazer cache e carregar a imagem em um controle.

Os vários releases do AQuery estão disponíveis na seção de downloads do projeto. Veja também a documentação básica.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT