Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Découvrir le développement d'applications avec Android 5

Utiliser Retrofit et GSON pour télécharger des données

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Mettez en application l'utilisation de Retrofit et GSON pour charger des données dans votre application.
06:00

Transcription

Nous avons vu comment déclarer l'interface de notre API de carnet d'adresses, maintenant, nous allons voir comment l'utiliser. Nous allons nous rendre dans l'interface graphique de notre GroupList, et dès que cette page aura été chargée, on va lancer un téléchargement via Retrofit de la liste de tous les groupes. Donc pour faire ça, vous devez créer un objet Retrofit, Alors ça passe par Builder, Le Builder va vous permettre de configurer correctement cet objet, en précisant d'abord l'URL de base, c'est à dire, dans l'API, tout à l'heure, on a précisé uniquement le chemin relatif, il faut maintenant préciser le début de l'URL. Donc, l'adresse IP du serveur, ou le nom du domaine. Dans notre cas, on est sur un émulateur. Alors je vais quand même vous montrer l'adresse qu'il faudrait en théorie. Mon serveur local, il est sur localhost 3000, Si je veux charger la liste des groupes... ...voilà...je vais faire http://localhost:3000/groups en appuyant sur Entrée, voyez, il me récupère mes trois groupes. Si je veux faire ça depuis l'émulateur, je ne pourrais pas utiliser l'adresse localhost, ou même 127.0.0.1, parce que ça, ça correspond à l'adresse de l'émulateur lui-même. Si, quand on est dans l'émulateur, qu'on veut communiquer avec l'ordinateur hôte, qui a lancé l'émulateur, l'adresse, elle est spéciale, c'est 10.0.2.2. Le port, on garde 3000, pour bien faire référence au port de Distant Server. On va ajouter le convertisseur, qui va permettre, une fois qu'il aura récupéré les données, de transformer en objet Java, grâce à Gson, GsonConverterFactory.create et une fois que c'est terminé, on dit Build. Donc, ça permet assez rapidement de créer un objet Retrofit, en lui donnant à la fois l'adresse Ip du serveur, et d'ajouter un convertisseur Gson, pour avoir directement des objets terminés à la fin. Maintenant, je vais créer un objet pour mon API. Service est égal à Retrofit, Create et là je donne donc, AdressBook...point...class C'est tout ce que vous avez à faire. Vous créez un objet Retrofit, et Retrofit va vous créer un objet correspondant à l'API que vous lui avez donné. Une fois que vous avez cet objet-là, il suffit de dire, si je souhaite avoir : getGroupList, Voyez... On récupère ce qu'on avait tout à l'heure dans notre interface, soit je peux récupérer un groupe si je connais déjà son ID, soit je peux récupérer ma liste de groupe. On va faire ça, getGroupList, Je vous rappelle, ça donne un objet call, si on veut exécuter tout de suite cet objet-là, il suffit de faire enqueue et là, ça va être comme ce qu'on avait tout à l'heure, dans Volley, on a un rappel en cas de succès, un rappel en cas d'erreur. et là on est au niveau du thread principal, et ici aussi. Ce qui est intéressant, par rapport à tout à l'heure, ce qu'on avait avec Volley, c'est qu'au lieu d'avoir des objets Gson, ou juste des chaines de caractère, on a directement de véritables objets Java que l'on va pouvoir utiliser. Donc là, la réponse est ici. Si je veux parcourir la liste de mes éléments, par exemple, on va juste faire... Log.i... ...retrofit... Download ok et la liste vraiment des groupes, elle est dans ... response...point...body. Voilà, et là vous avez directement une liste d'objets. Donc on peut par exemple faire un foreach, ...Group... ...group... ...dans : response body... ...Log.i... ...retrofit....Group... ..."+"... et là, donc j'ai pas encore d'accessoire sur mes objets, je vais juste en créer un. ...group... point... getTitle Et je pense qu'ils vont me proposer de créer un accessoire. "create Getter"... Voilà, super. On va lancer ça, on va voir si ça marche ! Control R On va remettre l'émulateur, cette fois-ci il faudra passer dans la seconde vue pour que ça se lance... ...Groupes de contacts, J'arrive ici, et normalement dans mon émulateur... Voilà, il a bien téléchargé : Download OK ... Group : famille, Group : amis, Group : travail. Donc il a bien réussi à récupérer mes 3 groupes en téléchargeant via Retrofit, et on a directement les objets, ce qui est vraiment vraiment intéressant, pour travailler sans avoir à parser, analyser le texte, c'est lui qui s'occupe de transformer en objet utilisable en Java. Je trouve personnellement que Retrofit est une librairie très très utile elle est très simple à utiliser, ça vous parait peut-être un tout petit peu plus compliqué que ce qu'on a vu tout à l'heure avec Volley car on a plus de code, mais il faut savoir que tout ce code-là, ça correspond au code que j'avais mis dans le fichier que je vous ai donné de Volley si vous regardez un petit peu ce qu'il y a dans le fichier de Volley, c'est très similaire à ce qu'on a ici, par contre la différence entre les deux, c'est que vous obtenez directement des objets tout prêts, que vous pouvez utiliser sans vous préoccuper du parsing, c'est beaucoup plus carré aussi, puisque finalement, vous listez ici, à l'avance, les différentes API, pour en ajouter, justement, après pour les contacts eux-mêmes, là on a mis que les groupes, Grâce à tout ça, on a quelque chose de carré, et en terme de code, on a beaucoup moins de surprises que si on charge des URL et qu'on analyse du texte qui arrive, ou du Gson. Si le format change, ça peut poser des problèmes.

Découvrir le développement d'applications avec Android 5

Développez des applications mobiles pour Android. Créez un projet de A à Z sous Android Studio, de l’installation du kit de développement, jusqu’à sa publication sur le Play Store.

3h17 (39 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Android Android 5
Spécial abonnés
Date de parution :17 mars 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !