Xamarin.Forms Webdiensteinführung

Beispiel herunterladen Das Beispiel herunterladen

Dieses Thema enthält eine exemplarische Vorgehensweise der Xamarin.Forms Beispielanwendung, die die Kommunikation mit verschiedenen Webdiensten veranschaulicht. Während jeder Webdienst eine separate Beispielanwendung verwendet, sind sie funktional ähnlich und verwenden gemeinsame Klassen.

Die unten beschriebene Beispiel-To-Do-Listenanwendung wird verwendet, um den Zugriff auf verschiedene Arten von Webdienst-Back-Ends mit Xamarin.Formszu veranschaulichen. Es bietet Funktionen für Folgendes:

  • Zeigen Sie eine Liste von Aufgaben an.
  • Hinzufügen, Bearbeiten und Löschen von Aufgaben.
  • Legen Sie die status einer Aufgabe auf "fertig" fest.
  • Sprechen Sie die Felder "Name" und "Notizen" der Aufgabe an.

In allen Fällen werden die Aufgaben in einem Back-End gespeichert, auf das über einen Webdienst zugegriffen wird.

Wenn die Anwendung gestartet wird, wird eine Seite angezeigt, auf der alle Aufgaben aufgelistet sind, die aus dem Webdienst abgerufen wurden, und es dem Benutzer ermöglicht, eine neue Aufgabe zu erstellen. Wenn Sie auf eine Aufgabe klicken, navigiert die Anwendung zu einer zweiten Seite, auf der die Aufgabe bearbeitet, gespeichert, gelöscht und gesprochen werden kann. Die fertige Anwendung wird unten gezeigt:

Todo-Anwendung - erste SeiteTodo-Anwendung - zweite Seite

Jedes Thema in diesem Handbuch bietet einen Downloadlink zu einer anderen Version der Anwendung, die einen bestimmten Typ von Webdienst-Back-End veranschaulicht. Laden Sie den relevanten Beispielcode auf der Seite herunter, die sich auf die einzelnen Webdienststile bezieht.

Grundlegendes zur Anwendungsatomie

Das freigegebene Codeprojekt für jede Beispielanwendung besteht aus drei Standard Ordnern:

Ordner Zweck
Daten Enthält die Klassen und Schnittstellen, die zum Verwalten von Datenelementen und zur Kommunikation mit dem Webdienst verwendet werden. Dies schließt mindestens die TodoItemManager -Klasse ein, die über eine Eigenschaft in der App -Klasse verfügbar gemacht wird, um Webdienstvorgänge aufzurufen.
Modelle Enthält die Datenmodellklassen für die Anwendung. Dies umfasst mindestens die TodoItem -Klasse, die ein einzelnes Datenelement modelliert, das von der Anwendung verwendet wird. Der Ordner kann auch alle zusätzlichen Klassen enthalten, die zum Modellieren von Benutzerdaten verwendet werden.
Ansichten Enthält die Seiten für die Anwendung. Dies besteht in der Regel aus den TodoListPage Klassen und TodoItemPage und allen zusätzlichen Klassen, die zu Authentifizierungszwecken verwendet werden.

Das freigegebene Codeprojekt für jede Anwendung besteht auch aus einer Reihe wichtiger Dateien:

Datei Zweck
Constants.cs Die Constants -Klasse, die alle Konstanten angibt, die von der Anwendung für die Kommunikation mit dem Webdienst verwendet werden. Diese Konstanten erfordern eine Aktualisierung, um auf Ihren persönlichen Back-End-Dienst zuzugreifen, der bei einem Anbieter erstellt wurde.
ITextToSpeech.cs Die ITextToSpeech -Schnittstelle, die angibt, dass die Speak Methode von allen implementierenden Klassen bereitgestellt werden muss.
Todo.cs Die App Klasse, die für die Instanziierung der ersten Seite verantwortlich ist, die von der Anwendung auf jeder Plattform angezeigt wird, und die Klasse, die TodoItemManager zum Aufrufen von Webdienstvorgängen verwendet wird.

Seiten anzeigen

Die meisten Beispielanwendungen enthalten mindestens zwei Seiten:

  • TodoListPage : Auf dieser Seite wird eine Liste von TodoItem Instanzen und ein Häkchensymbol angezeigt, wenn die TodoItem.Done -Eigenschaft lautet true. Wenn Sie auf ein Element klicken, navigieren Sie zu .TodoItemPage Darüber hinaus können neue Elemente erstellt werden, indem Sie auf das + Symbol klicken.
  • TodoItemPage : Auf dieser Seite werden die Details für das ausgewählte TodoItemangezeigt, und es kann bearbeitet, gespeichert, gelöscht und gesprochen werden.

Darüber hinaus enthalten einige Beispielanwendungen zusätzliche Seiten, die zum Verwalten des Benutzerauthentifizierungsprozesses verwendet werden.

Modellieren der Daten

Jede Beispielanwendung verwendet die TodoItem -Klasse, um die Daten zu modellieren, die angezeigt und zur Speicherung an den Webdienst gesendet werden. Das folgende Codebeispiel zeigt die TodoItem-Klasse:

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

Die ID Eigenschaft wird verwendet, um jede TodoItem instance eindeutig zu identifizieren, und wird von jedem Webdienst verwendet, um Daten zu identifizieren, die aktualisiert oder gelöscht werden sollen.

Aufrufen von Webdienstvorgängen

Auf Webdienstvorgänge wird über die TodoItemManager -Klasse zugegriffen, und auf eine instance der Klasse kann über die App.TodoManager -Eigenschaft zugegriffen werden. Die TodoItemManager -Klasse stellt die folgenden Methoden zum Aufrufen von Webdienstvorgängen bereit:

  • GetTasksAsync : Diese Methode wird verwendet, um das Steuerelement auf dem ListViewTodoListPage mit den Instanzen aufzufüllen, die TodoItem aus dem Webdienst abgerufen wurden.
  • SaveTaskAsync: Diese Methode wird verwendet, um eine TodoItem instance für den Webdienst zu erstellen oder zu aktualisieren.
  • DeleteTaskAsync: Diese Methode wird verwendet, um eine TodoItem instance im Webdienst zu löschen.

Darüber hinaus enthalten einige Beispielanwendungen zusätzliche Methoden in der TodoItemManager -Klasse, die zum Verwalten des Benutzerauthentifizierungsprozesses verwendet werden.

Anstatt die Webdienstvorgänge direkt aufzurufen, rufen die TodoItemManager Methoden Methoden für eine abhängige Klasse auf, die in den TodoItemManager Konstruktor eingefügt wird. Beispielsweise fügt eine Beispielanwendung die -Klasse in den RestServiceTodoItemManager Konstruktor ein, um die Implementierung bereitzustellen, die REST-APIs für den Zugriff auf Daten verwendet.