Xamarin.Forms Wprowadzenie do usług sieci Web

Download Sample Pobieranie przykładu

Ten temat zawiera przewodnik po przykładowej Xamarin.Forms aplikacji, który pokazuje, jak komunikować się z różnymi usługami internetowymi. Chociaż każda usługa internetowa używa oddzielnej przykładowej aplikacji, są one funkcjonalnie podobne i współużytkują wspólne klasy.

Przykładowa aplikacja listy zadań do wykonania opisana poniżej służy do zademonstrowania sposobu uzyskiwania dostępu do różnych typów zapleczy usługi internetowej za pomocą polecenia Xamarin.Forms. Zapewnia ona następujące funkcje:

  • Wyświetlanie listy zadań.
  • Dodawanie, edytowanie i usuwanie zadań.
  • Ustaw stan zadania na "gotowe".
  • Mów nazwy i notatek zadania.

We wszystkich przypadkach zadania są przechowywane w zapleczu, do którego uzyskuje się dostęp za pośrednictwem usługi internetowej.

Po uruchomieniu aplikacji zostanie wyświetlona strona zawierająca listę wszystkich zadań pobranych z usługi internetowej i umożliwia użytkownikowi utworzenie nowego zadania. Kliknięcie zadania powoduje przejście do aplikacji na drugą stronę, na której można edytować, zapisywać, usuwać i wypowiadać zadanie. Ostateczna aplikacja jest pokazana poniżej:

Todo application - first pageTodo application - second page

Każdy temat w tym przewodniku zawiera link pobierania do innej wersji aplikacji, która demonstruje określony typ zaplecza usługi internetowej. Pobierz odpowiedni przykładowy kod na stronie odnoszącej się do każdego stylu usługi internetowej.

Omówienie anatomii aplikacji

Projekt kodu współużytkowanego dla każdej przykładowej aplikacji składa się z trzech głównych folderów:

Folder Purpose
Data Zawiera klasy i interfejsy używane do zarządzania elementami danych i komunikowania się z usługą internetową. Co najmniej obejmuje TodoItemManager to klasę, która jest uwidaczniona za pośrednictwem właściwości w App klasie w celu wywoływania operacji usługi internetowej.
Modele Zawiera klasy modelu danych dla aplikacji. Obejmuje to co najmniej klasę TodoItem , która modeluje pojedynczy element danych używanych przez aplikację. Folder może również zawierać wszelkie dodatkowe klasy używane do modelowania danych użytkownika.
Widoki Zawiera strony aplikacji. Zwykle składa się z TodoListPage klas i TodoItemPage oraz wszelkich dodatkowych klas używanych do celów uwierzytelniania.

Współużytkowany projekt kodu dla każdej aplikacji składa się również z wielu ważnych plików:

Plik Purpose
Constants.cs Klasa Constants , która określa wszelkie stałe używane przez aplikację do komunikowania się z usługą internetową. Te stałe wymagają aktualizacji w celu uzyskania dostępu do osobistej usługi zaplecza utworzonej u dostawcy.
ITextToSpeech.cs Interfejs ITextToSpeech , który określa, że Speak metoda musi być dostarczana przez wszystkie klasy implementujące.
Todo.cs Klasa App odpowiedzialna za utworzenie wystąpienia zarówno pierwszej strony, która będzie wyświetlana przez aplikację na każdej platformie, jak i TodoItemManager klasę używaną do wywoływania operacji usługi internetowej.

Strony widoków

Większość przykładowych aplikacji zawiera co najmniej dwie strony:

  • TodoListPage — na tej stronie jest wyświetlana lista TodoItem wystąpień oraz ikona znacznika, jeśli TodoItem.Done właściwość ma wartość true. Kliknięcie elementu powoduje przejście do elementu TodoItemPage. Ponadto można utworzyć nowe elementy, klikając + symbol.
  • TodoItemPage — na tej stronie są wyświetlane szczegóły wybranego TodoItemelementu i umożliwiają edytowanie, zapisywanie, usuwanie i mówienie.

Ponadto niektóre przykładowe aplikacje zawierają dodatkowe strony używane do zarządzania procesem uwierzytelniania użytkownika.

Modelowanie danych

Każda przykładowa aplikacja używa TodoItem klasy do modelowania wyświetlanych i wysyłanych do usługi internetowej na potrzeby magazynu. Poniższy przykład kodu przedstawia klasę TodoItem :

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

Właściwość ID jest używana do unikatowego identyfikowania poszczególnych wystąpień i jest używana przez każdą TodoItem usługę internetową do identyfikowania danych do zaktualizowania lub usunięcia.

Wywoływanie operacji usługi internetowej

Operacje usługi sieci Web są dostępne za pośrednictwem TodoItemManager klasy, a dostęp do wystąpienia klasy można uzyskać za pośrednictwem App.TodoManager właściwości . Klasa TodoItemManager udostępnia następujące metody wywoływania operacji usługi internetowej:

  • GetTasksAsync — ta metoda służy do wypełniania kontrolki ListView za TodoListPage pomocą TodoItem wystąpień pobranych z usługi internetowej.
  • SaveTaskAsync — ta metoda służy do tworzenia lub aktualizowania TodoItem wystąpienia w usłudze internetowej.
  • DeleteTaskAsync — ta metoda służy do usuwania TodoItem wystąpienia w usłudze internetowej.

Ponadto niektóre przykładowe aplikacje zawierają dodatkowe metody w TodoItemManager klasie, które są używane do zarządzania procesem uwierzytelniania użytkownika.

Zamiast bezpośrednio wywoływać operacje usługi internetowej, metody wywołują metody w klasie zależnej, TodoItemManager która jest wstrzykiwana do konstruktora TodoItemManager . Na przykład jedna przykładowa aplikacja wprowadza klasę RestService do TodoItemManager konstruktora w celu zapewnienia implementacji, która używa interfejsów API REST do uzyskiwania dostępu do danych.