Tutoriel : Les composants principaux d'Android

Par Olivier Modifié le 13/01/2013 à 19 h 50 min

Vous avez été nombreux à consulter le premier tutoriel de Cyril Mottier sur l'arborescence d'un projet Android. On continue avec un nouveaux tutoriel qui va vous présenter les composants principaux d'une applications Android.

android-activity

Lorsque l'on aborde une nouvelle technologie, on souhaite d'emblée réaliser un premier projet. Etant passé maintes fois par cette étape, je comprend votre engouement à réaliser votre première application Android. Malheureusement, avant d'effectuer un premier et traditionnel "Hello World", il me semblait plus utile d'introduire les composants principaux d'Android. Je tiens tout de même à rassurer ceux qui souhaiterait décrocher maintenant : nous allons attaquer le vif du sujet avec le développement d'une première application dans la prochaine partie de cette série de tutoriaux !

Le développement sur Android s'appuie sur des classes importantes du framework. Ces classes sont, en quelque sorte, les "briques" élémentaires sur lesquelles vos futures applications reposeront. Elles sont tellement indispensables qu'il est tout simplement impossible de contruire votre application sans passer par au moins l'une d'elles. Cette partie tente de décrire de façon globale et succincte ces différentes "briques".

Intent

Les Intents sont des objets permettant de faire passer des messages contenant de l'information entre composants principaux. La notion d'Intent peut être vue comme une demande de démarrage d'un autre composant, d'une action à effectuer. La raison d'être des Intents provient du modèle de sécurité d'Android. Chaque application est en effet sandboxée. Cela veut dire qu'une application A ne peut accéder aux données d'une application B. Grâce aux Intents, les applications ont la possibilité de fournir leurs services ou données si elles le souhaite.

View

Les Views sont les composants de base de l'interface graphique. Elles permettent de construire l'interface utilisateur. Les widgets (nom donné à des composants graphiques "avancés" : une barre de progression, par exemple, est un widget), composants graphiques ou autres layout (composant permettant de placer les différents composants graphiques à l'écran) héritent en fait de cette classe élémentaire. Le rendu/dessin d'une View s'effectue par l'intermédiaire d'un Canvas (qu'on peut assimiler à une feuille transparente sur laquelle on dessine avec un crayon (Paint). Pour finir, la vue est le principal composant qui s'occupe de gérer les actions utilisateurs (appui sur l'écran, sur le clavier, etc.).

Lorsqu'on créé une application à l'aide du framework Android, le développeur doit hériter d'au moins une des 4 classes brièvement décrites ci-dessous. Ces notions de composants applicatifs vous sembleront, j'en suis sûr, totalement déroutantes au premier abord. Gardez à l'esprit que vos développements et les différentes parties de ce tutorial, vous permettront de clarifier vos idées.

Activity

le concept d'Activity repose sur la notion d'interaction utilisateur. Une Activity représente la fenêtre ou tout simplement l'écran qui sera affiché à l'utilisateur. Elle permet également de gérer des fonctionnalités telles que l'appui sur la touche [MENU] ou l'affichage de messages d'alerte (Toast). Faites bien attention à ne pas confondre la notion d'Activity et de View. Il est évident que faire la différence entre ces deux notions est difficile à ce stade de compréhension du framework. Rappelez vous que vos premières réalisations vous permettront de dissocier les deux : Soyez patient!

Service

La notion de service est un avantage certain sur l'iPhone. En effet, un Service est en fait un programme tournant en tâche de fond et n'ayant pas d'interface graphique (ce qui n'est pas réalisable, à l'heure où j'écris ces lignes, sur iPhone OS). L'exemple commun illustrant au mieux cette notion est celui du lecteur mp3. Un lecteur mp3 ne nécessite pas, pour la plupart du temps, d'interface graphique et doit tourner en tâche de fond laissant la possibilité aux autres applications de travailler/s'exécuter librement.

ContentProvider

Les ContentProvider sont, comme l'exprime leurs noms, des gestionnaires de données. Ils permettent de partager l'information entre applications. Imaginons une application qui permette de conserver les cartes de visite virtuelles d'un ensemble de personnes. Ces cartes de visite contiennent généralement le nom, le prénom et un moyen de contact de la personne. Un tel programme peut être créé sous forme de ContentProvider ce qui lui permettra de fournir à d'autres applications présentes sur le système les informations sur une personne. Une application tierce d'envoi de courriel peut par exemple interroger ce ContentProvider afin d'obtenir l'adresse courriel d'un contact.

BroadcastReceiver

Pour finir, un BroadcastReceiver est une application qui est à "l'écoute" des autres applications. Ce type d'application tente de répondre auxIntents qui lui sont adressés. Il ne fait donc rien d'autres que d'être à l'écoute des Intents envoyés par d'autres composants applicatifs.

Conclusion

Vous connaissez maintenant les différents éléments utilisés dans une application Android. Si vous voulez des détails sur certains points ou si vous avez des questions, n'hésites pas à les poser dans les commentaires.

Etant un grand fan des produits Open Source, c’est donc naturellement que j’ai adopté Android pour mes différents appareils mobiles (aussi bien mes Smartphones que ma tablette), mais cela ne veut pas dire que je ne vais pas jeter un œil ailleurs de temps en temps afin de voir ce qui se fait en dehors d’Android.

Aucun commentaire à «Tutoriel : Les composants principaux d'Android»

Laisser un commentaire

Les Commentaires sont soumis à modération. Seuls les commentaires pertinents et étoffés seront validés. - * Champs requis