Xamarin.Forms Úvod do webových služeb

Download Sample Stažení ukázky

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:

Todo application - first pageTodo application - second page

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í, pokud TodoItem.Done je truevlastnost . Kliknutím na položku přejdete TodoItemPagena položku . Nové položky lze vytvořit také kliknutím na + symbol.
  • TodoItemPage – tato stránka zobrazuje podrobnosti o vybraném TodoItemsouboru 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 na TodoListPageTodoItem 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.