Xamarin.Forms Úvod do webových služeb
Toto téma obsahuje návod Xamarin.Forms ukázkové aplikace, která ukazuje, jak komunikovat s různými webovými službami. Zatímco každá webová služba používá samostatnou ukázkovou aplikaci, jsou funkčně podobné a sdílejí společné třídy.
Ukázková aplikace seznamu úkolů popsaná níže slouží k předvedení přístupu k různým typům back-endů webových služeb pomocí Xamarin.Forms. Poskytuje funkce pro:
- Umožňuje zobrazit seznam úkolů.
- Přidávání, úpravy a odstraňování úkolů
- Nastavte stav úkolu na Hotovo.
- Vyslovte pole názvu úkolu a poznámek.
Ve všech případech jsou úkoly uložené v back-endu, ke kterému se přistupuje prostřednictvím webové služby.
Po spuštění aplikace se zobrazí stránka se seznamem všech úkolů načtených z webové služby a umožní uživateli vytvořit nový úkol. Kliknutím na úkol přejdete do aplikace na druhou stránku, kde lze úkol upravit, uložit, odstranit a vyslovit. Poslední aplikace je znázorněná níže:
Každé téma v této příručce obsahuje odkaz ke stažení na jinou verzi aplikace, která ukazuje konkrétní typ back-endu webové služby. Stáhněte si relevantní vzorový kód na stránce týkající se každého stylu webové služby.
Vysvětlení anatomie aplikace
Projekt sdíleného kódu pro každou ukázkovou aplikaci se skládá ze tří hlavních složek:
Složka | Účel |
---|---|
Data | Obsahuje třídy a rozhraní sloužící ke správě datových položek a komunikaci s webovou službou. To minimálně zahrnuje TodoItemManager třídu, která je vystavena prostřednictvím vlastnosti třídy App pro vyvolání operací webové služby. |
Modely | Obsahuje třídy datového modelu pro aplikaci. To zahrnuje minimálně TodoItem třídu, která modeluje jednu položku dat používaných aplikací. Složka může také obsahovat jakékoli další třídy používané k modelování uživatelských dat. |
Zobrazení | Obsahuje stránky aplikace. Obvykle se skládá z tříd TodoListPage a TodoItemPage všech dalších tříd používaných pro účely ověřování. |
Projekt sdíleného kódu pro každou aplikaci se také skládá z řady důležitých souborů:
Soubor | Účel |
---|---|
Constants.cs | Třída Constants , která určuje všechny konstanty používané aplikací ke komunikaci s webovou službou. Tyto konstanty vyžadují aktualizaci pro přístup k osobní back-endové službě vytvořené u poskytovatele. |
ITextToSpeech.cs | Rozhraní ITextToSpeech , které určuje, že Speak metoda musí být poskytována všemi implementovými třídami. |
Todo.cs | Třída App , která je zodpovědná za vytvoření instance první stránky, která se zobrazí aplikací na každé platformě, a TodoItemManager třídu, která se používá k vyvolání operací webové služby. |
Stránky zobrazení
Většina ukázkových aplikací obsahuje alespoň dvě stránky:
- TodoListPage – tato stránka zobrazuje seznam
TodoItem
instancí a ikonu zaškrtnutí, pokudTodoItem.Done
jetrue
vlastnost . Kliknutím na položku přejdeteTodoItemPage
na položku . Nové položky lze vytvořit také kliknutím na + symbol. - TodoItemPage – tato stránka zobrazuje podrobnosti o vybraném
TodoItem
souboru a umožňuje úpravy, uložení, odstranění a mluvené slovo.
Některé ukázkové aplikace navíc obsahují další stránky, které slouží ke správě procesu ověřování uživatelů.
Modelování dat
Každá ukázková aplikace používá TodoItem
třídu k modelování dat zobrazených a odesílaných do webové služby pro úložiště. Následující příklad kódu ukazuje TodoItem
třídu:
public class TodoItem
{
public string ID { get; set; }
public string Name { get; set; }
public string Notes { get; set; }
public bool Done { get; set; }
}
Tato ID
vlastnost slouží k jedinečné identifikaci jednotlivých TodoItem
instancí a používá ji každá webová služba k identifikaci dat, která se mají aktualizovat nebo odstranit.
Vyvolání operací webové služby
Operace webové služby jsou přístupné prostřednictvím TodoItemManager
třídy a instance třídy je přístupná prostřednictvím App.TodoManager
vlastnosti. Třída TodoItemManager
poskytuje následující metody pro vyvolání operací webové služby:
- GetTasksAsync – tato metoda slouží k naplnění
ListView
ovládacího prvku naTodoListPage
TodoItem
instancích načtených z webové služby. - SaveTaskAsync – tato metoda se používá k vytvoření nebo aktualizaci
TodoItem
instance ve webové službě. - DeleteTaskAsync – tato metoda slouží k odstranění
TodoItem
instance ve webové službě.
Některé ukázkové aplikace navíc obsahují další metody ve TodoItemManager
třídě, které se používají ke správě procesu ověřování uživatelů.
Namísto přímého vyvolání operací TodoItemManager
webové služby metody vyvolávají metody závislé třídy, která je vložena do konstruktoru TodoItemManager
. Například jedna ukázková aplikace vloží RestService
třídu do konstruktoru TodoItemManager
, která poskytuje implementaci, která pro přístup k datům používá rozhraní REST API.