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 :
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 laTodoItem.Done
propriété esttrue
. Cliquez sur un élément pour accéderTodoItemPage
au 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é
TodoItem
et 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 lesTodoListPage
TodoItem
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.