Xamarin.Forms Wprowadzenie do usług sieci Web
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:
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śliTodoItem.Done
właściwość ma wartośćtrue
. Kliknięcie elementu powoduje przejście do elementuTodoItemPage
. Ponadto można utworzyć nowe elementy, klikając + symbol. - TodoItemPage — na tej stronie są wyświetlane szczegóły wybranego
TodoItem
elementu 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
zaTodoListPage
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.