Tworzenie aplikacji platformy Xamarin.Forms za pomocą usługi Azure Mobile Apps

W tym samouczku pokazano, jak dodać usługę zaplecza opartą na chmurze do wieloplatformowej aplikacji mobilnej przy użyciu platformy Xamarin.Forms i zaplecza aplikacji mobilnej platformy Azure. Utworzysz zarówno nowe zaplecze aplikacji mobilnej, jak i prostą aplikację listy zadań do wykonania, która przechowuje dane aplikacji na platformie Azure.

Ten samouczek należy wykonać przed innymi samouczkami platformy Xamarin Forms przy użyciu funkcji Mobile Apps w usłudze aplikacja systemu Azure Service.

Wymagania wstępne

Ten samouczek można wykonać na komputerach Mac lub Windows. Do ukończenia tego samouczka niezbędne są następujące elementy:

  • Program Visual Studio 2022 z następującymi obciążeniami.
    • Tworzenie aplikacji na platformie ASP.NET i aplikacji internetowych
    • Tworzenie aplikacji na platformie Azure
    • Tworzenie aplikacji mobilnych za pomocą platformy .NET
  • Konto platformy Azure.
  • Interfejs wiersza polecenia platformy Azure.
    • az login Zaloguj się przy użyciu polecenia i wybierz odpowiednią subskrypcję przed rozpoczęciem.
  • (Opcjonalnie) Interfejs wiersza polecenia dla deweloperów platformy Azure.
  • Urządzenie wirtualne z systemem Android z następującymi ustawieniami:
    • Telefon: dowolny obraz telefonu — do testowania używamy piksela 5.
    • Obraz systemu: Android 11 (interfejs API 30 z interfejsami API Google)

Jeśli kompilujesz wersję aplikacji dla systemu iOS, musisz mieć dostępny komputer Mac:

  • Instalowanie programu XCode
  • Otwórz program Xcode po zainstalowaniu, aby można było dodać dodatkowe wymagane składniki.
  • Po otwarciu wybierz pozycję Preferencje XCode...>Składniki i instalowanie symulatora systemu iOS.
  • Jeśli ukończysz samouczek w systemie Windows, postępuj zgodnie z przewodnikiem Parowanie na komputerze Mac.

Pobieranie przykładowej aplikacji

  1. Otwórz repozytorium azure-mobile-apps w przeglądarce.

  2. Otwórz listę rozwijaną Kod , a następnie wybierz pozycję Pobierz plik ZIP.

    Screenshot of the Code menu on GitHub.

  3. Po zakończeniu pobierania otwórz folder Pobrane i znajdź azure-mobile-apps-main.zip plik.

  4. Kliknij prawym przyciskiem myszy pobrany plik, a następnie wybierz polecenie Wyodrębnij wszystko....

    Jeśli wolisz, możesz użyć programu PowerShell, aby rozwinąć archiwum:

    C:\Temp> Expand-Archive azure-mobile-apps-main.zip
    

Przykłady znajdują się w folderze samples w wyodrębnionych plikach. Przykład dla przewodnika Szybki start nosi nazwę TodoApp. Przykład można otworzyć w programie Visual Studio, klikając TodoApp.sln dwukrotnie plik.

Screenshot of the file explorer for the solution.

Wdrażanie zaplecza na platformie Azure

Uwaga

Jeśli zaplecze zostało już wdrożone z innego przewodnika Szybki start, możesz użyć tego samego zaplecza i pominąć ten krok.

Aby wdrożyć usługę zaplecza, wykonamy następujące kroki:

  • Aprowizuj usługę aplikacja systemu Azure i usługę Azure SQL Database na platformie Azure.
  • Użyj programu Visual Studio, aby wdrożyć kod usługi w nowo utworzonej usłudze aplikacja systemu Azure.

Wykonaj wszystkie kroki za pomocą interfejsu wiersza polecenia dla deweloperów platformy Azure

Przykład aplikacji TodoApp jest skonfigurowany do obsługi interfejsu wiersza polecenia dla deweloperów platformy Azure. Aby wykonać wszystkie kroki (aprowizowanie i wdrażanie):

  1. Zainstaluj interfejs wiersza polecenia dla deweloperów platformy Azure.
  2. Otwórz terminal i zmień katalog na folder zawierający TodoApp.sln plik. Ten katalog zawiera azure.yamlrównież plik .
  3. Uruchom program azd up.

Jeśli jeszcze nie zalogowałeś się na platformie Azure, przeglądarka zostanie uruchomiona, aby poprosić Cię o zalogowanie. Następnie zostanie wyświetlony monit o użycie subskrypcji i regionu platformy Azure. Następnie interfejs wiersza polecenia dla deweloperów platformy Azure aprowizuje niezbędne zasoby i wdraża kod usługi w wybranym regionie i subskrypcji platformy Azure. Na koniec interfejs wiersza polecenia dewelopera platformy Azure zapisuje odpowiedni Constants.cs plik.

Możesz uruchomić azd env get-values polecenie , aby wyświetlić informacje o uwierzytelnianiu SQL, jeśli chcesz uzyskać bezpośredni dostęp do bazy danych.

Jeśli wykonano kroki z interfejsem wiersza polecenia dla deweloperów platformy Azure, przejdź do następnego kroku. Jeśli nie chcesz używać interfejsu wiersza polecenia dla deweloperów platformy Azure, wykonaj kroki ręczne.

Tworzenie zasobów na platformie Azure.

  1. Otwórz terminal i zmień katalog na folder zawierający TodoApp.sln plik. Ten katalog zawiera azuredeploy.jsonrównież plik .

  2. Upewnij się, że zalogowałeś się i wybrano subskrypcję przy użyciu interfejsu wiersza polecenia platformy Azure.

  3. Utwórz nową grupę zasobów:

    az group create -l westus -g quickstart
    

    To polecenie tworzy grupę quickstart zasobów w regionie Zachodnie stany USA. Możesz wybrać dowolny region, pod warunkiem, że możesz tam utworzyć zasoby. Upewnij się, że używasz tej samej nazwy i regionu, gdziekolwiek wspomniano w tym samouczku.

  4. Utwórz zasoby przy użyciu wdrożenia grupy:

    az deployment group create -g quickstart --template-file azuredeploy.json --parameters sqlPassword=MyPassword1234
    

    Wybierz silne hasło dla hasła Administracja istratora SQL. Będzie ona potrzebna później podczas uzyskiwania dostępu do bazy danych.

  5. Po zakończeniu wdrażania pobierz zmienne wyjściowe, ponieważ zawierają one ważne informacje potrzebne później:

    az deployment group show -g quickstart -n azuredeploy --query properties.outputs
    

    Przykładowe dane wyjściowe to:

    Screenshot of command line results.

  6. Zanotuj wszystkie wartości w danych wyjściowych do późniejszego użycia.

Publikowanie kodu usługi

Otwórz plik TodoApp.sln w programie Visual Studio.

  1. W okienku po prawej stronie wybierz Eksplorator rozwiązań.

  2. Kliknij prawym przyciskiem myszy TodoAppService.NET6 projekt, a następnie wybierz polecenie Ustaw jako projekt startowy.

  3. W górnym menu wybierz pozycję Build Publish TodoAppService.NET6 (Kompiluj>publikację todoAppService.NET6).

  4. W oknie Publikowanie wybierz pozycję Cel: Azure, a następnie naciśnij przycisk Dalej.

    Screenshot of the target selection window.

  5. Wybierz pozycję Określony element docelowy: aplikacja systemu Azure Service (Windows), a następnie naciśnij przycisk Dalej.

    Screenshot of the specific target selection window.

  6. W razie potrzeby zaloguj się i wybierz odpowiednią nazwę subskrypcji.

  7. Upewnij się, że ustawienie Widok ma wartość Grupa zasobów.

  8. Rozwiń grupę zasobów, a następnie wybierz usługę quickstart App Service, która została utworzona wcześniej.

    Screenshot of the app service selection window.

  9. Wybierz Zakończ.

  10. Po zakończeniu procesu tworzenia profilu publikowania wybierz pozycję Zamknij.

  11. Znajdź zależności usługi i wybierz potrójne kropki obok bazy danych programu SQL Server, a następnie wybierz pozycję Połączenie.

    Screenshot showing the S Q L server configuration selection.

  12. Wybierz pozycję Azure SQL Database, a następnie wybierz pozycję Dalej.

  13. Wybierz bazę danych szybkiego startu, a następnie wybierz pozycję Dalej.

    Screenshot of the database selection window.

  14. Wypełnij formularz przy użyciu nazwy użytkownika i hasła SQL, które znajdowały się w danych wyjściowych wdrożenia, a następnie wybierz pozycję Dalej.

    Screenshot of the database settings window.

  15. Wybierz Zakończ.

  16. Po zakończeniu wybierz pozycję Zamknij .

  17. Wybierz pozycję Publikuj, aby opublikować aplikację w utworzonej wcześniej usłudze aplikacja systemu Azure.

    Screenshot showing the publish button.

  18. Po opublikowaniu usługi zaplecza zostanie otwarta przeglądarka. Dodaj /tables/todoitem?ZUMO-API-VERSION=3.0.0 do adresu URL:

    Screenshot showing the browser output after the service is published.

Konfigurowanie przykładowej aplikacji

Aplikacja kliencka musi znać podstawowy adres URL zaplecza, aby mogła się z nią komunikować.

Jeśli użyto azd up metody aprowizacji i wdrożenia usługi, Constants.cs plik został utworzony dla Ciebie i możesz pominąć ten krok.

  1. TodoApp.Data Rozwiń projekt.

  2. Kliknij prawym przyciskiem myszy TodoApp.Data projekt, a następnie wybierz polecenie Dodaj>klasę....

  3. Wprowadź Constants.cs jako nazwę, a następnie wybierz pozycję Dodaj.

    Screenshot of adding the Constants.cs file to the project.

  4. Constants.cs.example Otwórz plik i skopiuj zawartość (Ctrl-A, a następnie ctrl-C).

  5. Przełącz się na Constants.cs, wyróżnij cały tekst (Ctrl-A), a następnie wklej zawartość z przykładowego pliku (Ctrl-V).

  6. Zastąp element https://APPSERVICENAME.azurewebsites.net adresem URL zaplecza usługi.

    namespace TodoApp.Data
    {
        public static class Constants
        {
            /// <summary>
            /// The base URI for the Datasync service.
            /// </summary>
            public static string ServiceUri = "https://demo-datasync-quickstart.azurewebsites.net";
        }
    }
    

    Adres URL zaplecza usługi można uzyskać z karty Publikowanie. Upewnij się, że używasz adresu URL https.

  7. Zapisz plik. (Ctrl-S).

Kompilowanie i uruchamianie aplikacji systemu Android

  1. W Eksploratorze rozwiązań rozwiń xamarin-forms folder .

  2. Kliknij projekt prawym przyciskiem myszy TodoApp.Forms.Android i wybierz polecenie Ustaw jako Projekt startowy.

  3. Na górnym pasku wybierz pozycję Dowolna konfiguracja procesora CPU i element docelowy TodoApp.Forms.Android :

    Screenshot showing how to set the run configuration for a Xamarin Forms for Android app.

  4. Jeśli zamiast tego zostanie wyświetlony emulator systemu Android, nie utworzono emulatora systemu Android. Aby uzyskać więcej informacji, zobacz Konfiguracja emulatora systemu Android. Aby utworzyć nowy emulator systemu Android:

    • Wybierz pozycję Narzędzia Android>>Menedżer urządzeń.
    • Wybierz + Nowy.
    • Wybierz następujące opcje po lewej stronie:
      • Nazwa: quickstart
      • Urządzenie podstawowe: Piksel 5
      • Procesor: x86_64
      • System operacyjny: Android 11.0 — interfejs API 30
      • Interfejsy API Google: zaznaczone
    • Wybierz pozycję Utwórz.
    • W razie potrzeby zaakceptuj umowę licencyjną. Następnie obraz zostanie pobrany.
    • Po pojawieniu się przycisku Start naciśnij przycisk Start.
    • Jeśli zostanie wyświetlony monit o przyspieszanie sprzętowe funkcji Hyper-V, zapoznaj się z dokumentacją, aby włączyć przyspieszanie sprzętowe przed kontynuowaniem. Emulator będzie powolny bez włączania przyspieszania sprzętowego.

    Napiwek

    Przed kontynuowaniem uruchom emulator systemu Android. Możesz to zrobić, otwierając Menedżer urządzeń systemu Android i naciskając przycisk Start obok wybranego emulatora.

  5. Naciśnij klawisz F5 , aby skompilować i uruchomić projekt.

Po uruchomieniu aplikacji zobaczysz pustą listę i pole tekstowe, aby dodać elementy w emulatorze. Masz następujące możliwości:

  • Wprowadź tekst w polu, a następnie naciśnij klawisz Enter, aby wstawić nowy element.
  • Wybierz element, aby ustawić lub wyczyścić flagę ukończoną.
  • Naciśnij ikonę odświeżania, aby ponownie załadować dane z usługi.

Screenshot of the running Android app.

Kompilowanie i uruchamianie aplikacji systemu iOS

Uwaga

Musisz postępowaćzgodnie z przewodnikiem parowania na komputerze Mac. Podczas kompilowania lub uruchamiania aplikacji systemu iOS bez sparowanego komputera Mac wystąpią błędy.

  1. W Eksploratorze rozwiązań rozwiń xamarin-forms folder .

  2. Kliknij projekt prawym przyciskiem myszy TodoApp.Forms.iOS i wybierz polecenie Ustaw jako Projekt startowy.

  3. Na górnym pasku wybierz pozycję i Telefon Konfiguracja symulatora i element docelowy TodoApp.Forms.iOS:

    Screenshot showing how to set the run configuration for a Xamarin Forms for i O S app.

  4. Wybierz symulator i Telefon

  5. Naciśnij klawisz F5 , aby skompilować i uruchomić projekt.

Po uruchomieniu aplikacji zobaczysz pustą listę i pole tekstowe, aby dodać elementy w emulatorze. Masz następujące możliwości:

  • Wprowadź tekst w polu, a następnie naciśnij klawisz Enter, aby wstawić nowy element.
  • Wybierz element, aby ustawić lub wyczyścić flagę ukończoną.
  • Naciśnij ikonę odświeżania, aby ponownie załadować dane z usługi.

Screenshot of the running i O S app showing the to do list.

Rozwiązywanie problemów

Zdalny symulator dostarczany z programem Visual Studio 2022 jest niezgodny z programem XCode 13.3. Zostanie wyświetlony następujący komunikat o błędzie:

Screenshot of the error message when launching the i O S simulator.

Aby obejść ten problem:

  • Wyłącz symulator zdalny (Narzędzia / Opcje / iOS Ustawienia / usuń zaznaczenie zdalnego symulatora systemu Windows). Po usunięciu zaznaczenia symulator zostanie uruchomiony na komputerze Mac zamiast w systemie Windows. Następnie możesz korzystać z symulatora bezpośrednio na komputerze Mac podczas korzystania z debugera itp. w systemie Windows.
  • Wyłącz zdalny symulator, tak jak powyżej, aby symulator był uruchamiany na komputerze Mac. Następnie użyj aplikacji pulpitu zdalnego, aby nawiązać połączenie z pulpitem Mac z systemu Windows. Opcje pulpitu zdalnego obejmują Devolutions Remote Desktop Manager (szybkie i dostępne są bezpłatne wersje) oraz klientów VNC (wolniej i bezpłatnie).
  • Użyj urządzenia fizycznego do przetestowania zamiast symulatora. Aby ukończyć samouczek uwierzytelniania, możesz uzyskać bezpłatny profil aprowizacji.

Następne kroki

Kontynuuj samouczek, dodając uwierzytelnianie do aplikacji.