Share via


Xamarin.Forms Présentation des services web

Cette rubrique fournit une procédure pas à pas de l’exemple Xamarin.Forms d’application qui montre comment communiquer avec différents services web. Bien que chaque service web utilise un exemple d’application distinct, ils sont fonctionnellement similaires et partagent des classes communes.

L’exemple d’application de liste de tâches décrit ci-dessous est utilisé pour montrer comment accéder à différents types de back-ends de service web avec Xamarin.Forms. Il fournit des fonctionnalités pour :

  • Affichez une liste de tâches.
  • Ajouter, modifier et supprimer des tâches.
  • Définissez l’état d’une tâche sur « terminé ».
  • Parlez les champs nom et notes de la tâche.

Dans tous les cas, les tâches sont stockées dans un back-end accessible via un service web.

Lorsque l’application est lancée, une page s’affiche qui répertorie toutes les tâches récupérées à partir du service web et permet à l’utilisateur de créer une tâche. Cliquer sur une tâche permet d’accéder à une deuxième page dans laquelle la tâche peut être modifiée, enregistrée, supprimée et parlée. L’application finale est indiquée ci-dessous :

Application Todo - première pageApplication Todo - deuxième page

Chaque rubrique de ce guide fournit un lien de téléchargement vers une version différente de l’application qui illustre un type spécifique de back-end de service web. Téléchargez l’exemple de code approprié sur la page relative à chaque style de service web.

Comprendre l’anatomie de l’application

Le projet de code partagé pour chaque exemple d’application se compose de trois dossiers principaux :

Dossier Objectif
Données Contient les classes et interfaces utilisées pour gérer les éléments de données et communiquer avec le service web. Au minimum, cela inclut la TodoItemManager classe, qui est exposée par le biais d’une propriété dans la App classe pour appeler des opérations de service web.
Modèles Contient les classes de modèle de données pour l’application. Au minimum, cela inclut la TodoItem classe, qui modélise un seul élément de données utilisé par l’application. Le dossier peut également inclure toutes les classes supplémentaires utilisées pour modéliser les données utilisateur.
Views Contient les pages de l’application. Cela se compose généralement des TodoListPage classes et TodoItemPage des classes supplémentaires utilisées à des fins d’authentification.

Le projet de code partagé pour chaque application se compose également d’un certain nombre de fichiers importants :

File Objectif
Constants.cs Classe Constants , qui spécifie toutes les constantes utilisées par l’application pour communiquer avec le service web. Ces constantes nécessitent la mise à jour pour accéder à votre service principal personnel créé sur un fournisseur.
ITextToSpeech.cs L’interface ITextToSpeech , qui spécifie que la Speak méthode doit être fournie par toutes les classes d’implémentation.
Todo.cs Classe App chargée d’instancier à la fois la première page qui sera affichée par l’application sur chaque plateforme et la TodoItemManager classe utilisée pour appeler des opérations de service web.

Pages de la vue

La majorité des exemples d’applications contiennent au moins deux pages :

  • TodoListPage : cette page affiche une liste d’instances et une icône de TodoItem graduation si la TodoItem.Done propriété est true. Cliquez sur un élément pour accéder TodoItemPageau fichier . De plus, de nouveaux éléments peuvent être créés en cliquant sur le + symbole.
  • TodoItemPage : cette page affiche les détails de l’élément sélectionné TodoItemet lui permet d’être modifié, enregistré, supprimé et parlé.

En outre, certains exemples d’applications contiennent des pages supplémentaires utilisées pour gérer le processus d’authentification utilisateur.

Modéliser les données

Chaque exemple d’application utilise la TodoItem classe pour modéliser les données affichées et envoyées au service web pour le stockage. L’exemple de code suivant illustre la classe TodoItem :

public class TodoItem
{
    public string ID { get; set; }
    public string Name { get; set; }
    public string Notes { get; set; }
    public bool Done { get; set; }
}

La ID propriété est utilisée pour identifier de manière unique chaque TodoItem instance et est utilisée par chaque service web pour identifier les données à mettre à jour ou supprimer.

Appeler des opérations de service web

Les opérations de service web sont accessibles via la TodoItemManager classe et une instance de la classe est accessible via la App.TodoManager propriété. La TodoItemManager classe fournit les méthodes suivantes pour appeler des opérations de service web :

  • GetTasksAsync : cette méthode est utilisée pour remplir le ListView contrôle sur les TodoListPageTodoItem instances récupérées à partir du service web.
  • SaveTaskAsync : cette méthode est utilisée pour créer ou mettre à jour une TodoItem instance sur le service web.
  • DeleteTaskAsync : cette méthode est utilisée pour supprimer une TodoItem instance sur le service web.

En outre, certains exemples d’applications contiennent des méthodes supplémentaires dans la TodoItemManager classe, qui sont utilisées pour gérer le processus d’authentification utilisateur.

Au lieu d’appeler directement les opérations de service web, les TodoItemManager méthodes appellent des méthodes sur une classe dépendante qui est injectée dans le TodoItemManager constructeur. Par exemple, un exemple d’application injecte la RestService classe dans le TodoItemManager constructeur pour fournir l’implémentation qui utilise des API REST pour accéder aux données.