Partant des éléments clés ayant fait le succès de JQuery comme la réduction considérable de la quantité de code nécessaire pour effectuer des tâches asynchrones et manipuler le DOM, une équipe de développeurs a lancé le projet AQuery (Android Query).
AQuery est une bibliothèque légère open source, pour faire des taches asynchrones et manipuler des éléments de l’interface utilisateur sous Android. L’objectif de sa conception est de rendre le développement sur Android plus facile et amusant.
À titre d’exemple, le code suivant :
Code java : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | public void renderContent(Content content, View view) { ImageView tbView = (ImageView) view.findViewById(R.id.icon); if(tbView != null){ tbView.setImageBitmap(R.drawable.icon); tbView.setVisibility(View.VISIBLE); tbView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { someMethod(v); } }); } TextView nameView = (TextView) view.findViewById(R.id.name); if(nameView != null){ nameView.setText(content.getPname()); } TextView timeView = (TextView) view.findViewById(R.id.time); if(timeView != null){ long now = System.currentTimeMillis(); timeView.setText(FormatUtility.relativeTime(now, content.getCreate())); timeView.setVisibility(View.VISIBLE); } TextView descView = (TextView) view.findViewById(R.id.desc); if(descView != null){ descView.setText(content.getDesc()); descView.setVisibility(View.VISIBLE); } } |
sera réduit avec AQuery à :
Code java : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 | public void renderContent(Content content, View view) { AQuery aq = new AQuery(view); aq.id(R.id.icon).image(R.drawable.icon).visible().clicked(this, "someMethod"); aq.id(R.id.name).text(content.getPname()); aq.id(R.id.time).text(FormatUtility.relativeTime(System.currentTimeMillis(), content.getCreate())).visible(); aq.id(R.id.desc).text(content.getDesc()).visible(); } |
La bibliothèque permet de simplifier la fixation des gestionnaires d'événements, et permet de gérer plus facilement la fragmentation de l’écosystème Android et les différentes tailles d’écrans des dispositifs.
AQuery permet également d’invoquer assez facilement les requêtes HTTP asynchrones. Il inclut un support pour les opérations POST, peut accepter des données binaires, au format JSON, HTML et XML, ainsi qu’une prise en charge des images. En une seule ligne de code, il est possible de télécharger ou charger une image dans un contrôle.
Le projet est hébergé sur GitHub, et la version 0.21.7 est disponible gratuitement sous licence Apache 2.0.
Télécharger AQuery
Source : Le site du projet
Et vous ?
Que pensez-vous de cette bibliothèque ? Allez-vous l'utiliser dans vos projets Android ?