Übung: Erstellen einer Xamarin.Forms-App mit Xamarin.Essentials
Die zu erstellende Anwendung ist eine plattformübergreifende mobile App, die mit der Azure-Funktion kommuniziert, um Ihren Standort zu teilen. In dieser Lerneinheit erstellen Sie mit Visual Studio eine leere mobile App und installieren ein NuGet-Paket mit einer API zum Abrufen des Benutzerstandorts.
Um die Schritte in dieser Lerneinheit ausführen zu können, muss das plattformübergreifende Benutzeroberflächen-Toolkit Xamarin.Forms und die Workload für Entwicklung auf der universellen Windows-Plattform in Visual Studio installiert sein. Wenn dies noch nicht erfolgt ist, besuchen Sie Installieren von Xamarin.
Erstellen des Xamarin.Forms-Projekts
Wählen Sie in Visual Studio Datei > Neu > Projekt aus.
Verwenden Sie die Suchleiste, um Mobile App (Xamarin.Forms) zu finden, wählen Sie das Element aus, und wählen Sie Weiter aus.
Geben Sie der Projektmappe den Namen „ImHere“.
Wählen Sie einen geeigneten Speicherort für die Projektmappe aus.
Klicken Sie auf Erstellen.
Wählen Sie im Dialogfeld Neue mobile App die Vorlage Leere App aus.
Für dieses Modul werden Sie eine UWP-App erstellen. Deaktivieren Sie deshalb iOS und Android, und lassen Sie Windows UWP aktiviert.
Klicken Sie auf Erstellen.
Visual Studio erstellt zwei Projekte für Sie:
- UWP-App mit dem Namen
ImHere.UWP
- .NET Standard-Bibliothek namens
ImHere
Xamarin.Forms-Apps umfassen zwei Bestandteile – mindestens ein plattformspezifisches App-Projekt und (mindestens) eine .NET Standard-Bibliothek.
Die plattformspezifischen App-Projekte enthalten den plattformspezifischen Code, der zum Ausführen einer App auf der jeweiligen Plattform benötigt wird. Diese Projekte starten anschließend eine Xamarin.Forms-App, die in einer plattformübergreifenden .NET Standard-Bibliothek definiert ist. Sie entwickeln Ihre App in plattformübergreifendem Code, und zur Laufzeit werden alle erstellten Benutzeroberflächen in die relevanten plattformspezifischen Benutzeroberflächenkomponenten übersetzt.
Hinzufügen von „Xamarin.Essentials“
Die UWP-, Android- und iOS-Plattformen bieten zahlreiche ähnliche Funktionen, die das Betriebssystem und die Hardware nutzen. Trotz dieser Ähnlichkeiten sind die APIs sehr unterschiedlich. Zur Verwendung dieser APIs aus plattformübergreifendem Code muss plattformspezifischer Code in Ihren App-Projekten geschrieben werden, den Sie für Ihre .NET Standard-Bibliotheken verfügbar machen. Xamarin.Essentials ist ein NuGet-Paket, das eine plattformübergreifende Abstraktion über eine Reihe dieser APIs bietet, sodass Sie keinen plattformspezifischen Code schreiben müssen. Dazu gehören auch die Geolocation-APIs, die Sie in Ihrer App verwenden, um den Standort des Benutzers zu ermitteln.
Klicken Sie im Projektmappen-Explorer von Visual Studio mit der rechten Maustaste auf die Projektmappe
ImHere
(die oberste Projektmappe, nicht das .NET Standard-ProjektImHere
), und wählen Sie NuGet-Pakete für Projektmappe verwalten... aus.Klicken Sie auf die Registerkarte Durchsuchen, und suchen Sie nach „Xamarin.Essentials“.
Tipp
Wenn Sie das Xamarin.Essentials-NuGet-Paket nicht sehen, überprüfen Sie nochmals, ob Include prelease aktiviert ist.
Wählen Sie das NuGet-Paket Xamarin.Essentials aus.
Aktivieren Sie in der Projektliste auf der rechten Seite sämtliche Ihrer Projekte.
Klicken Sie auf die Schaltfläche Installieren, um das NuGet-Paket zu installieren. Sie müssen die Lizenz akzeptieren, um den Vorgang fortzusetzen.
Erstellen und Ausführen der App
Klicken Sie im Projektmappen-Explorer erst mit der rechten Maustaste auf das
ImHere.UWP
-Projekt und anschließend mit der linken auf Set as StartUp project (Als Startprojekt festlegen).Legen Sie die Buildkonfiguration auf Debuggen, die Plattform auf x86 und das Gerät für die Ausführung auf Lokaler Computer fest.
Beginnen Sie mit dem Debuggen der App.
Zusammenfassung
In dieser Lerneinheit haben Sie eine neue plattformübergreifende mobile Xamarin.Forms-App erstellt und das NuGet-Paket „Xamarin.Essentials“ hinzugefügt. Als Nächstes lernen Sie, wie Sie die Benutzeroberfläche und Logik der mobilen App aufbauen.