09.02.2017 Views

creez-des-applications-pour-android

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

6 Exploiter les fonctionnalités d’Android<br />

— Sur le web, <strong>pour</strong> envoyer et recevoir <strong>des</strong> <strong>applications</strong>, on utilise le protocole HTTP. Il possède<br />

en autre la méthode GET <strong>pour</strong> récupérer du contenu sur internet et la méthode POST<br />

<strong>pour</strong> en envoyer.<br />

— Quand on récupère du contenu sur internet, on passe toujours par un thread, car récupérer<br />

cela prend du temps et impacterait trop l’utilisateur si on l’employait dans le thread UI.<br />

— On récupère et on poste du contenu facilement à l’aide de flux comme nous l’avons toujours<br />

fait <strong>pour</strong> écrire dans un fichier.<br />

6.2 Apprenez à <strong>des</strong>siner<br />

Je vous propose d’approfondir nos connaissances du <strong>des</strong>sin sous Android. Même si <strong>des</strong>siner quand<br />

on programme peut sembler trivial à beaucoup d’entre vous, il faut que vous compreniez que c’est<br />

un élément qu’on retrouve dans énormément de domaines de l’informatique. Par exemple, quand<br />

on veut faire sa propre vue, on a besoin de la <strong>des</strong>siner. De même, <strong>des</strong>siner est une étape essentielle<br />

<strong>pour</strong> faire un jeu.<br />

Enfin, ne vous emballez pas parce que je parle de jeu. En effet, un jeu est bien plus que <strong>des</strong> graphismes,<br />

il faut créer différents moteurs <strong>pour</strong> gérer le gameplay, il faut travailler sur l’aspect sonore,<br />

etc. De plus, la méthode présentée ici est assez peu adaptée au jeu. Mais elle va quand même<br />

nous permettre de faire <strong>des</strong> choses plutôt sympa.<br />

6.2.1 La toile<br />

Non, non, je ne parle pas d’internet ou d’un écran de cinéma, mais bien d’une vraie toile. Pas en<br />

lin ni en coton, mais une toile de pixels. C’est sur cette toile que s’effectuent nos <strong>des</strong>sins. Et vous<br />

l’avez déjà rencontrée, cette toile ! Mais oui, quand nous <strong>des</strong>sinions nos propres vues, nous avons<br />

vu un objet de type Canvas sur lequel <strong>des</strong>siner !<br />

Pour être tout à fait franc, ce n’était pas exactement la réalité. En effet, on ne <strong>des</strong>sine pas sur un<br />

Canvas, ce n’est pas un objet graphique, mais une interface qui va <strong>des</strong>siner sur un objet graphique.<br />

Le <strong>des</strong>sin est en fait effectué sur un Bitmap. Ainsi, il ne suffit pas de créer un Canvas <strong>pour</strong> pouvoir<br />

<strong>des</strong>siner, il faut lui attribuer un Bitmap.<br />

[[information]] | La plupart du temps, vous n’aurez pas besoin de donner de Bitmap à un Canvas<br />

puisque les Canvas qu’on vous donnera auront déjà un Bitmap associé. Les seuls moments où<br />

vous devrez le faire manuellement sont les moments où vous créerez vous-mêmes un Canvas.<br />

Ainsi, un Canvas est un objet qui réalise un <strong>des</strong>sin et un Bitmap est une surface sur laquelle<br />

<strong>des</strong>siner. Pour raisonner par analogie, on peut se dire qu’un Canvas est un peintre et un Bitmap<br />

une toile. Cependant, que serait un peintre sans son fidèle pinceau ? Un pinceau est représenté<br />

par un objet Paint et permet de définir la couleur du trait, sa taille, etc. Alors quel est votre rôle<br />

à vous ? Eh bien, imaginez-vous en tant que client qui demande au peintre (Canvas) de <strong>des</strong>siner<br />

ce que vous voulez, avec la couleur que vous voulez et sur la surface que vous voulez. C’est donc<br />

au Canvas que vous donnerez <strong>des</strong> ordres <strong>pour</strong> <strong>des</strong>siner.<br />

6.2.1.1 La toile<br />

Il n’y a pas grand-chose à savoir sur les Bitmap. Tout d’abord, il n’y a pas de constructeur dans<br />

la classe Bitmap. Le moyen le plus simple de créer un Bitmap est de passer par la méthode<br />

398

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!