BT
x Votre opinion compte ! Merci de bien vouloir répondre au sondage InfoQ concernant vos habitudes de lecture !

Introduction à AQuery: jQuery pour Android

par Jonathan Allen , traduit par Matthieu Lux le 05 mai 2013 |

News originale publiée le 24 avril 2012

La popularité de jQuery vient d'un simple fait : il réduit significativement la quantité de code nécessaire pour réaliser des tâches asynchrones et manipuler le DOM. Le nouveau projet AQuery cherche à réaliser la même chose pour les développeurs Android. Pour vous montrer ce que peut donner Android Query pour votre développement d'UI, nous vous proposons un exemple provenant de leur site.

Avant

Après

Android Query simplifie l'écoute d'évènements. Plutôt que d'implémenter une interface ou de créer une classe anonyme, il suffit de s'assurer de ne pas faire d'erreur dans le nom de la méthode qui gère l'évènement.

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

La fragmentation due aux différentes tailles d'écran et de version d'API peuvent rendre difficile de tirer le meilleur de chaque device. Avec Android Query, certains de ces problèmes sont résolus par des wrappers au-dessus de l'API d'Android. Par exemple, la fonction aq.hardwareAccelerated11(); va détecter si le device supporte l'API 11 qui permet d'utiliser l'accélération matériel et l'activer si c'est possible.

Quand on travaille avec différentes tailles d'écrans, on commence souvent avec une tablette puis on retire et réorganise les contrôles jusqu'à ce que cela soit adapté à un téléphone. Normalement, cela veut dire que vous avez à vérifier l'arbre des composants visibles pour savoir quels controles sont réellement créés depuis le fichier AXML avant d'essayer de le manipuler.

Android Query vous permet d'éviter toutes les vérifications en faisant le chaînage conditionnels des méthodes. Prenons un exemple avec ce bout de code :

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

Si le contrôle "address" n'existe pas, tous les setters et event handlers qui suivent vont simplement devenir inopérant. Si cela peut rendre le debugging un peu plus difficile, cela réduit énormément le nombre de lignes de code nécessaire dans votre méthode onCreate.

AQuery vous permet également de rendre vos appels HTTP asynchrones très simples. Il inclut un support pour les requêtes POST simples et multi-part et peut accepter des données binaires, JSON, HTML et XML. Un système séparé est prévu pour les images. Il est possible en une seule ligne de télécharger une image, la mettre en cache et la charger dans un contrôle.

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Contenu Éducatif

Rien ne serait possible sans le soutien et la confiance de nos Sponsors Fondateurs:

AppDynamics   CloudBees   Microsoft   Zenika
Feedback Général
Bugs
Publicité
Éditorial
InfoQ.com et tous les contenus sont copyright © 2006-2014 C4Media Inc. InfoQ.com est hébergé chez Contegix, le meilleur ISP avec lequel nous ayons travaillé.
Politique de confidentialité
BT