HTTP 1 - Retrofit de base
ATTENTION : L'outil principal de débogage pour les appels réseaux est le Network Inspector dans Android Studio.
- Cliquer sur Fichier / File ou le symbole ☰ en haut à gauche.
- Choisir View / Tool Windows / AppInspection.
- Dans la fenêtre AppInspection, choisir l'onglet Network Inspector.
- Tu devrais voir apparaître les appels réseaux de ton application.
Retrofit est une librairie qui permet de faire des appels HTTP de manière simple et efficace.
Elle est recommandée par la doc standard d'Android pour faire des appels réseaux source.
Le code de cette recette est disponible ici.
- AndroidManifest.xml
- build.gradle
- Service.kt
- RetrofitUtil.kt
- TestsHTTP.kt
Le premier élément est d'accorder à notre application la permission d'utiliser internet.
Cela se fait en ajoutant la balise suivante entre les balises <manifest>
et <application>
dans le fichier AndroidManifest.xml
.
Il va falloir ajouter les dépendances permettant d'utiliser Retrofit dans le build.gradle.kts
.
Le service indique à retrofit quelles actions on souhaite permettre:
Regardons en détail:
- L'annotation
@GET
indique que c'est une requête de type GET. - "users/{utilisateur}/repos" indique l'url qui sera envoyée.
- Le paramètre utilisateur va être inséré dans l'URL.
- Le Call<String> indique que la réponse sera lue comme un String.
La prochaine étape est de construire un objet pour envoyer les requêtes concrètes de Retrofit:
Ici on va surtout s'assurer d'avoir l'url de départ qui pointe sur le bon serveur. Dans l'exemple, on pointe vers l'API de Github.
Une fois qu'on a tout ça on peut appeler notre fonction.
Le plus simple pour s'assurer du bon fonctionnement est de faire un test automatique avec execute