Nougat-Features

Dieser Artikel bietet Unterstützung beim Einstieg in die Verwendung von Xamarin.Android zur Entwicklung von Apps für Android Nougat.

Dieser Artikel bietet einen Überblick über die in Android Nougat eingeführten Features, erläutert, wie Sie Xamarin.Android für die Entwicklung für Android Nougat vorbereiten, und stellt Links zu Beispielanwendungen bereit, die die Verwendung der neuen Android Nougat-Features in Xamarin.Android-Apps veranschaulichen.

Übersicht

Android Nougat ist der Nachfolger von Google für Android 6.0 Marshmallow. Xamarin.Android bietet Unterstützung für Android 7.x-Bindungen in Xamarin Android 7.0 und höher. Android Nougat fügt eine Vielzahl neuer APIs für die unten beschriebenen Nougat-Features hinzu. Diese APIs sind für Xamarin.Android-Apps verfügbar, wenn Sie Xamarin.Android 7.0 verwenden.

Hero-Bilder von Android-Tablets und -Smartphones mit Android Nougat

Weitere Informationen zu Android 7.x-APIs finden Sie in der Android-API-Referenz. Eine Liste bekannter Probleme mit Xamarin.Android 7.0 finden Sie in den Versionshinweisen.

Android Nougat bietet zahlreiche neue Features, die für Xamarin.Android-Entwickler interessant sind. Zu diesen Features zählen:

  • Unterstützung für mehrere Fenster – Mit dieser Erweiterung können Benutzer zwei Apps auf dem Bildschirm gleichzeitig öffnen.

  • Benachrichtigungsverbesserungen – Das überarbeitete Benachrichtigungssystem in Android Nougat enthält ein Direct Reply-Feature , mit dem Benutzer schnell direkt über die Benachrichtigungsbenutzeroberfläche auf Textnachrichten reagieren können. Auch wenn Ihre App Benachrichtigungen für empfangene Nachrichten erstellt, kann das neue Feature der gebündelten Benachrichtigungen Benachrichtigungen zu einer einzelnen Gruppe bündeln, wenn mehrere Nachrichten empfangen werden.

  • Datenschoner – Dieses Feature ist ein neuer Systemdienst, der die Nutzung von Daten durch Apps verringert. Es ermöglicht Benutzern die Kontrolle darüber, wie Apps Mobilfunkdaten verwenden.

Außerdem bietet Android Nougat viele weitere Verbesserungen, die für App-Entwickler von Interesse sind, wie z. B. ein neues Feature zur Konfiguration der Netzwerksicherheit, Doze on the Go, Schlüsselnachweis, neue Schnelleinstellungen-APIs, Unterstützung mehrerer Gebietsschemas, ICU4J-APIs, WebView-Erweiterungen, Zugriff auf Java 8-Sprachfeatures, bereichsbezogenen Verzeichniszugriff, eine API für benutzerdefinierte Zeiger, Plattform-VR-Unterstützung, virtuelle Dateien und Optimierungen der Hintergrundverarbeitung.

In diesem Artikel wird erläutert, wie Sie mit der Entwicklung von Apps mit Android Nougat beginnen, um die neuen Features zu testen und die Migrations- oder Funktionsarbeit für die neue Android Nougat-Plattform zu planen.

Anforderungen

Für die Verwendung von Android Nougat-Features in Xamarin-basierten Apps gelten die folgenden Voraussetzungen:

  • Visual Studio oder Visual Studio für Mac – Wenn Sie Visual Studio verwenden, ist Version 4.2.0.628 oder höher von Visual Studio Tools für Xamarin erforderlich. Wenn Sie Visual Studio für Mac verwenden, ist Version 6.1.0 oder höher erforderlich.

  • Xamarin.Android – Xamarin.Android 7.0 oder höher muss mit Visual Studio oder Visual Studio für Mac installiert und konfiguriert werden.

  • Android SDK – Android SDK 7.0 (API 24) oder höher muss über den Android-SDK-Manager installiert werden.

  • Java Developer Kit – Xamarin Android 7.0-Entwicklung erfordert JDK 8 oder höher, wenn Sie für API-Ebene 24 oder höher entwickeln (JDK 8 unterstützt auch API-Ebenen vor 24). Die 64-Bit-Version von JDK 8 wird benötigt, wenn Sie benutzerdefinierte Steuerelemente oder die Forms-Vorschau verwenden.

Wichtig

Xamarin.Android unterstützt JDK 9 nicht.

Beachten Sie, dass Apps mit Xamarin C6SR4 oder höher neu erstellt werden müssen, damit sie zuverlässig mit Android Nougat funktionieren. Da Android Nougat nur mit NDK-bereitgestellten nativen Bibliotheken Verknüpfungen herstellen kann, können vorhandene Apps wie Mono.Data.Sqlite.dll, die Bibliotheken verwenden, bei Ausführung auf Android Nougat abstürzen, wenn sie nicht ordnungsgemäß neu erstellt werden.

Erste Schritte

Um mit der Nutzung von Android Nougat mit Xamarin.Android zu beginnen, müssen Sie die neuesten Tools und SDK-Pakete herunterladen und installieren, bevor Sie ein Android Nougat-Projekt erstellen können:

  1. Installieren Sie die neuesten Xamarin.Android-Updates von Xamarin.

  2. Installieren Sie die Pakete und Tools für Android 7.0 (API 24) oder höher.

  3. Erstellen Sie ein neues Xamarin.Android-Projekt für die Zielplattform Android Nougat.

  4. Konfigurieren Sie einen Emulator oder ein Gerät für Android Nougat.

Jeder dieser Schritte wird in den folgenden Abschnitten erläutert:

Installieren von Xamarin-Updates

Um Xamarin-Unterstützung für Android Nougat hinzuzufügen, ändern Sie den Updateskanal in Visual Studio oder Visual Studio für Mac in den stabilen Kanal, und wenden Sie die neuesten Updates an. Wenn Sie auch Features benötigen, die derzeit nur im Alpha- oder Beta-Kanal verfügbar sind, können Sie zum Alpha- oder Beta-Kanal wechseln (Alpha- und Beta-Kanal bieten auch Unterstützung für Android 7.x). Informationen zum Ändern des Kanals für Updates (Releases) finden Sie unter Changing the Updates Channel (Ändern des Kanals für Updates).

Installieren des Android SDK

Um ein Projekt mit Xamarin.Android 7.0 zu erstellen, müssen Sie zunächst den Android-SDK-Manager verwenden, um die SDK-Plattform für Android N (API 24) oder höher zu installieren. Sie müssen außerdem die neuesten Android SDK Tools installieren:

  1. Starten Sie den Android SDK-Manager (verwenden Sie in Visual Studio für Mac Tools > Open Android SDK Manager...; verwenden Sie in Visual Studio Tools > Android > SDK Manager).

  2. Installieren Sie Android 7.0 (API 24) oder höher:

    Auswählen der Android 7.0-Pakete im Android-SDK-Manager

  3. Installieren Sie die neuesten Android SDK Tools:

    Auswählen der neuesten Android SDK Tools im Android-SDK-Manager

    Sie müssen Android SDK Tools Revision 25.2.2 oder höher, Android SDK Platform-Tools 24.0.3 oder höher und Android SDK Build-Tools 24.0.2 oder höher installieren.

  4. Vergewissern Sie sich, dass der Java Development Kit-Speicherort für JDK 1.8 konfiguriert ist:

    Konfigurieren des JDK 8-Pfads unter „Extras > Optionen“

    Um diese Einstellung in Visual Studio anzuzeigen, klicken Sie auf "Extras > Options > Xamarin > Android Einstellungen". Klicken Sie in Visual Studio für Mac auf "Projekt-SDK-Speicherorte >> android">.

Starten eines Xamarin.Android-Projekts

Erstellen eines neuen Xamarin.Android-Projekts. Wenn Sie mit der Android-Entwicklung mit Xamarin noch nicht vertraut sind, finden Sie unter Hallo, Android Informationen zum Erstellen von Xamarin.Android-Projekten.

Wenn Sie ein Android-Projekt erstellen, müssen Sie die Versionseinstellungen für Android 7.0 oder höher konfigurieren. Wenn Sie Ihr Projekt beispielsweise auf Android 7.0 ausrichten, müssen Sie die Android-API-Zielebene Ihres Projekts auf Android 7.0 (API 24 – Nougat) festlegen. Sie sollten die Ebene für das Zielframework auf API 24 oder höher festlegen. Weitere Informationen zum Konfigurieren von Android-API-Ebenen finden Sie unter Grundlegendes zu Android-API-Ebenen.

Hinweis

Derzeit müssen Sie die Android-Mindestversion auf Android 7.0 (API 24 – Nougat) festlegen, um Ihre App auf Android Nougat-Geräten oder -Emulatoren bereitzustellen.

Konfigurieren eines Emulators oder Geräts

Wenn Sie einen Emulator verwenden, starten Sie den Android Virtual Device Manager (AVD Manager), und erstellen Sie unter Verwendung der folgenden Einstellungen ein neues Gerät:

  • Gerät: Nexus 5X, Nexus 6, Nexus 6P, Nexus Player, Nexus 9 oder Pixel C.
  • Ziel: Android 7.0 – API Level 24
  • ABI: x86 oder x86_64

Dieses virtuelle Gerät ist beispielsweise für die Emulation eines Nexus 6 konfiguriert:

Konfigurieren eines AVD für ein Nexus 6-Gerät, Android 7.0 als Ziel und Intel Atom x86 CPU/ABI

Wenn Sie ein physisches Gerät wie Nexus 5X, 6 oder 9 verwenden, können Sie Ihr Gerät entweder automatisch mithilfe von OTA-Updates (Over the Air) aktualisieren oder ein Systemimage herunterladen und Ihr Gerät direkt flashen. Weitere Informationen zum manuellen Aktualisieren Ihres Geräts auf Android Nougat finden Sie unter Full OTA Images for Nexus and Pixel Devices (Vollständige OTA-Images für Nexus- und Pixel-Geräte).

Beachten Sie, dass Nexus 5-Geräte nicht von Android Nougat unterstützt werden.

Neue Funktionen

Android Nougat führt eine Reihe von neuen Features und Funktionen ein, z. B. Unterstützung für mehrere Fenster, Benachrichtigungserweiterungen und Data Saver. Diese Features werden in den folgenden Abschnitten näher beleuchtet, und es werden Links mit weiteren Informationen zur Nutzung dieser Features in Ihrer App bereitgestellt.

Modus für mehrere Fenster

Der Modus für mehrere Fenster ermöglicht Benutzern das gleichzeitige Öffnen von zwei Apps mit vollständiger Multitasking-Unterstützung. Diese Apps können nebeneinander (Querformat) oder übereinander (Hochformat) im Split-Screen-Modus ausgeführt werden. Benutzer können die Größe der Apps ändern, indem sie eine Trennlinie ziehen, und sie können mittels Ausschneiden und Einfügen den Inhalt zwischen den Apps austauschen. Wenn zwei Apps im Modus für mehrere Fenster angezeigt werden, wird die ausgewählte Aktivität weiterhin ausgeführt, während die nicht ausgewählte Aktivität angehalten wird, aber immer noch sichtbar ist. Der Modus für mehrere Fenster ändert den Lebenszyklus der Android-Aktivität nicht.

Beispiel-Apps, die im Modus für mehrere Fenster im Hoch- und Querformat ausgeführt werden

Sie können konfigurieren, wie die Aktivitäten Ihrer Xamarin.Android-App den Modus für mehrere Fenster unterstützen. Beispielsweise können Sie Attribute konfigurieren, die die minimale Größe und die Standardhöhe und -breite Ihrer App im Modus für mehrere Fenster festlegen. Sie können die neue Activity.IsInMultiWindowMode-Eigenschaft verwenden, um zu bestimmen, ob sich die Aktivität im Modus für mehrere Fenster befindet. Zum Beispiel:

if (!IsInMultiWindowMode) {
    multiDisabledMessage.Visibility = ViewStates.Visible;
} else {
    multiDisabledMessage.Visibility = ViewStates.Gone;
}

Weitere Informationen zum Modus für mehrere Fenster finden Sie unter Multi-Window Support (Unterstützung für mehrere Fenster).

Verbesserte Benachrichtigungen

Android Nougat führt ein überarbeitetes Benachrichtigungssystem ein. Es verfügt über ein neues Direktantwortfeature, das Benutzern ermöglicht, schnell auf Benachrichtigungen für eingehende SMS in der Benachrichtigungs-Benutzeroberfläche zu antworten. Ab Android 7.0 können Benachrichtigungsmeldungen als einzelne Gruppe gebündelt werden, wenn mehrere Nachrichten empfangen werden. Entwickler können auch Benachrichtigungsansichten anpassen, Systemdekorationen in Benachrichtigungen und neue Benachrichtigungsvorlagen nutzen, wenn sie Benachrichtigungen erstellen.

Direkte Antwort

Wenn ein Benutzer eine Benachrichtigung für die eingehende Nachricht erhält, ermöglicht Android Nougat, innerhalb der Benachrichtigung auf die Nachricht zu antworten (anstatt die Messaging-App zu öffnen, um eine Antwort zu senden). Dieses Inlineantwortfeature ermöglicht Benutzern, direkt innerhalb der Benachrichtigungs-Benutzeroberfläche schnell auf eine SMS zu reagieren:

Screenshot einer Benachrichtigung mit einem Inline-Direktantwortfeld

Um dieses Feature in Ihrer App zu unterstützen, müssen Sie der App über ein RemoteInput-Objekt Inlineantwortaktionen hinzufügen, damit Benutzer direkt über die Benutzeroberfläche der Benachrichtigung per Text antworten können. Der folgende Code erstellt z. B. ein RemoteInput-Objekt zum Empfangen von Texteingaben, eine ausstehende Absicht für die Antwortaktion und eine aktivierte Remoteeingabeaktion:

// Build a RemoteInput for receiving text input:
var remoteInput = new Android.Support.V4.App.RemoteInput.Builder (EXTRA_REMOTE_REPLY)
    .SetLabel (GetString (Resource.String.reply))
    .Build ();

// Build a Pending Intent for the reply action to trigger:
PendingIntent replyIntent = PendingIntent.GetBroadcast (ApplicationContext,
                                conversation.ConversationId,
                                GetMessageReplyIntent (conversation.ConversationId),
                                PendingIntentFlags.UpdateCurrent);

// Build an Android 7.0 compatible Remote Input enabled action:
NotificationCompat.Action actionReplyByRemoteInput = new NotificationCompat.Action.Builder (
    Resource.Drawable.notification_icon,
    GetString (Resource.String.reply),
    replyIntent).AddRemoteInput (remoteInput).Build ();

Diese Aktion wird der Benachrichtigung hinzugefügt:

// Create the notification:
NotificationCompat.Builder builder = new NotificationCompat.Builder (ApplicationContext)
   .SetSmallIcon (Resource.Drawable.notification_icon)
   ...
   .AddAction (actionReplyByRemoteInput);

Weitere Informationen zum Hinzufügen von Inlineantwortaktionen zu Ihrer App für Android 7.0 oder höher finden Sie im Android-Thema Replying to Notifications (Antworten auf Benachrichtigungen).

Gebündelte Benachrichtigungen

Android Nougat kann Benachrichtigungsmeldungen gruppieren (z. B. nach Nachrichtenthema) und die Gruppe anstelle jeder separaten Nachricht anzeigen. Dieses Feature der gebündelten Benachrichtigungen ermöglicht Benutzern, eine Gruppe von Benachrichtigungen in einer Aktion zu verwerfen oder zu archivieren. Der Benutzer kann nach unten streichen, um das Benachrichtigungsbündel zur ausführlichen Anzeige der einzelnen Benachrichtigungen zu erweitern:

Screenshot: Beispiel für gebündelte Benachrichtigungen

Um gebündelte Benachrichtigungen zu unterstützen, kann Ihre App ähnliche Benachrichtigungen mit der Builder.SetGroup-Methode bündeln. Weitere Informationen zu Gruppen gebündelter Benachrichtigungen in Android N finden Sie im Android-Thema Bundling Notifications (Bündeln von Benachrichtigungen).

Benutzerdefinierte Ansichten

Mit Android Nougat können Sie benutzerdefinierte Benachrichtigungsansichten mit Systembenachrichtigungsheadern, Aktionen und erweiterbaren Layouts erstellen. Weitere Informationen zu benutzerdefinierten Benachrichtigungsansichten in Android Nougat finden Sie im Android-Thema Notification Enhancements (Benachrichtigungserweiterungen).

Data Saver

Ab Android-Nougat können Benutzer eine neue Data Saver-Einstellung aktivieren, die die Verwendung von Hintergrunddaten blockiert. Diese Einstellung signalisiert Ihrer App außerdem, möglichst weniger Daten im Vordergrund zu verwenden. Der ConnectivityManager wurde in Android Nougat erweitert, sodass Ihre App überprüfen kann, ob der Benutzer den Data Saver aktiviert hat, damit Ihre App versuchen kann, die Datennutzung einzuschränken, wenn der Data Saver aktiviert ist.

Weitere Informationen zum neuen Data Saver-Feature in Android Nougat finden Sie im Android-Thema Optimizing Network Data Usage (Optimieren der Netzwerkdatenverwendung).

App-Verknüpfungen

Mit Android 7.1 wurde das Feature App-Verknüpfungen eingeführt, das Benutzern ermöglicht, gängige oder empfohlene Aufgaben mit Ihrer App schnell zu starten. Um das Menü mit Tastenkombinationen zu aktivieren, drückt der Benutzer lange das App-Symbol für eine Sekunde oder mehr – das Menü wird mit einer schnellen Vibration angezeigt. Wenn der Benutzer das Symbol nicht mehr berührt, wird das Menü weiterhin angezeigt:

Beispielbildschirm eines Menüs mit App-Verknüpfungen für eine Messaging-App

Dieses Feature ist nur unter API-Ebene 25 oder höher verfügbar. Weitere Informationen zum neuen App-Verknüpfungen-Feature in Android 7.1 finden Sie im Android-Thema App-Verknüpfungen.

Zusammenfassung

In diesem Artikel wurde Android Nougat vorgestellt und erläutert, wie die neuesten Tools und Pakete zur Xamarin.Android-Entwicklung für Android Nougat installiert und konfiguriert werden. Außerdem bietet er eine Übersicht über die wichtigsten in Android Nougat verfügbaren Features und enthält Links zu Beispielquellcode, die Ihnen den Einstieg in das Erstellen von Apps für Android Nougat erleichtern.