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.

Avalie esse artigo

Relevância
Estilo/Redação

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
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.