Features von Marshmallow

Dieser Artikel unterstützt Sie beim Einstieg in die Verwendung von Xamarin.Android zum Entwickeln von Apps für Android 6.0 Marshmallow.

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

Übersicht

Android 6.0 Marshmallow ist das nächste Android-Hauptrelease nach Android Lollipop. Xamarin.Android unterstützt Android Marshmallow und bietet Folgendes:

  • API 23/Android 6.0-Bindungen – Android 6.0 fügt viele neue APIs für die unten beschriebenen neuen Features hinzu. Diese APIs sind für Xamarin.Android-Apps verfügbar, wenn Sie API-Ebene 23 als Ziel verwenden. Weitere Informationen zu Android 6.0-APIs finden Sie unter Android 6.0-APIs.

Hero-Bilder von Tablets und Smartphones, auf denen Marshmallow ausgeführt wird

Das Marshmallow-Release dient hauptsächlich zur Optimierung und Qualitätsverbesserung, bietet aber auch viele neue Features, die für Xamarin.Android-Entwickler interessant sind. Dazu gehören:

  • Laufzeitberechtigungen : Diese Erweiterung ermöglicht es Benutzern, Sicherheitsberechtigungen von Fall zu Fall zur Laufzeit zu genehmigen.

  • Authentifizierungsverbesserungen : Ab Android Marshmallow können Apps jetzt Fingerabdrucksensoren verwenden, um Benutzer zu authentifizieren, und ein neues Feature zum Bestätigen von Anmeldeinformationen minimiert die Eingabe von Kennwörtern.

  • App-Verknüpfung : Dieses Feature hilft, die Notwendigkeit zu vermeiden, dass die App-Auswahl angezeigt werden muss, indem Apps automatisch Webdomänen zugeordnet werden.

  • Direkte Freigabe : Sie können Ziele für die direkte Freigabe definieren, die die Freigabe für Benutzer schnell und intuitiv machen. Dieses Feature ermöglicht uers das Freigeben von Inhalten für andere Apps.

  • Sprachinteraktionen : Mit dieser neuen API können Sie Unterhaltungsstimmenfeatures in Ihre App integrieren.

  • 4K-Anzeigemodus : In Android Marshmallow kann Ihre App eine 4K-Bildschirmauflösung auf Hardware anfordern, die sie unterstützt.

  • Neue Audiofeatures : Ab Marshmallow unterstützt Android jetzt das MIDI-Protokoll. Das Release bietet auch neue Klassen zum Erstellen von Objekten für die Erfassung und Wiedergabe digitaler Audiodaten sowie neue API-Hooks zum Zuordnen von Audiodaten und Eingabegeräten.

  • Neue Videofeatures : Marshmallow bietet eine neue Klasse, mit der Apps Audio- und Videostreams synchron rendern können. Diese Klasse bietet auch Unterstützung für die dynamische Wiedergaberate.

  • Android for Work – Marshmallow enthält erweiterte Steuerelemente für unternehmenseigene Einzelbenutzergeräte. Das Release unterstützt die automatische Installation und Deinstallation von Apps durch den Gerätebesitzer, die automatische Anwendung von Systemupdates, verbesserte Zertifikatverwaltung, Nachverfolgung der Datennutzung, Berechtigungsverwaltung und Benachrichtigungen zum Arbeitsstatus.

  • MaterialEntwurfsunterstützungsbibliothek : Die neue Designunterstützungsbibliothek stellt Entwurfskomponenten und Muster bereit, die Ihnen das Erstellen von Material design Look and Feel in Ihrer App erleichtern.

Darüber hinaus wurden mit Marshmallow viele wichtige Bibliotheksupdates für Android veröffentlicht, die neue Features sowohl für Marshmallow als auch für frühere Android-Versionen bereitstellen.

Darüber hinaus wurden mit Marshmallow viele wichtige Bibliotheksupdates für Android veröffentlicht, die neue Features sowohl für Marshmallow als auch für frühere Android-Versionen bereitstellen. In diesem Artikel wird erläutert, wie Sie mit Android 6.0 Marshmallow Apps entwickeln, und Sie erhalten einen Überblick über die wichtigsten neuen Features in diesem Release.

Anforderungen

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

  • Xamarin.Android – Xamarin.Android 5.1.7.12 oder höher muss mit Visual Studio oder Xamarin Studio installiert und konfiguriert werden.

  • Visual Studio für Mac oder Visual Studio: Wenn Sie Visual Studio für Mac verwenden, ist Version 5.9.7.22 oder höher erforderlich. Wenn Sie Visual Studio verwenden, ist Version 3.11.1537 oder höher der Xamarin-Tools für Visual Studio erforderlich.

  • Android SDK – Android SDK 6.0 (API 23) oder höher muss über den Android SDK Manager installiert werden.

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

Sie können weiterhin JDK 1.7 verwenden, wenn Sie speziell für die API-Ebene 23 oder früher entwickeln.

Erste Schritte

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

  1. Installieren Sie die neuesten Xamarin-Updates aus dem Stable Channel.

  2. Installieren Sie die SDK-Pakete und Tools für Android 6.0 Marshmallow.

  3. Erstellen Sie ein neues Xamarin.Android-Projekt für Android 6.0 Marshmallow (API-Ebene 23).

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

Diese Schritte werden in den folgenden Abschnitten im Einzelnen erläutert:

Installieren von Xamarin-Updates

Um Xamarin für die Unterstützung von Android 6.0 Marshmallow zu aktualisieren, ändern Sie den Updatechannel zu Stable, und installieren Sie alle Updates. Weitere Informationen zum Installieren von Updates über den Updatechannel finden Sie unter Change the Updates Channel (Ändern des Updatechannels).

Installieren des Android 6.0 SDK

Wenn Sie ein Xamarin.Android-Projekt für Android Marshmallow erstellen möchten, müssen Sie zunächst den Android-SDK-Manager verwenden, um das SDK für Android 6.0 zu installieren:

  • Starten Sie den Android SDK-Manager (verwenden Sie in Visual Studio für Mac Tools > SDK Manager; verwenden Sie in Visual Studio Tools > Android > SDK Manager), und installieren Sie die neuesten Android SDK-Tools:

    Auswählen von Android SDK-Tools im Android SDK-Manager

  • Installieren Sie außerdem die neuesten Android 6.0 SDK-Pakete:

    Auswählen von Android 6.0 SDK-Paketen im Android SDK-Manager

Sie müssen Version 24.3.4 oder höher der Android SDK Tools installieren. Weitere Informationen zur Verwendung des Android-SDK-Managers zum Installieren des Android 6.0 SDK finden Sie im Artikel zum SDK-Manager.

Starten eines Xamarin.Android-Projekts

Erstellen Sie ein neues Xamarin.Android-Projekt. Wenn Sie mit der Android-Entwicklung mit Xamarin noch nicht vertraut sind, finden Sie unter Hello, Android (Hallo, Android) Informationen zum Erstellen von Android-Projekten.

Wenn Sie ein Android-Projekt erstellen, müssen Sie die Versionseinstellungen für Android 6.0 Marshmallow konfigurieren. Um Marshmallow als Ziel für Ihr Projekt zu verwenden, müssen Sie Ihr Projekt für die API-Ebene 23 (Unterstützung für Xamarin.Android v.6.0) konfigurieren. Weitere Informationen zum Konfigurieren von Android-API-Ebenen finden Sie unter Grundlegendes zu Android-API-Ebenen.

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 5, 6 oder 9.
  • Ziel: Android 6.0 – API-Ebene 23
  • ABI: x86

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

Konfigurieren einer AVD mit Nexus 5-Gerät, Android 6.0 Target und Intel Atom (x86)

Wenn Sie ein physisches Gerät wie z. B. ein Nexus 5, 6 oder 9 verwenden, können Sie ein Vorschauimage von Android Marshmallow installieren. Weitere Informationen zum Aktualisieren von Geräten auf Android Marshmallow finden Sie unter Hardware System Images.

Neue Funktionen

Viele der in Android Marshmallow eingeführten Änderungen drehen sich um die Verbesserung des Benutzererlebnisses für Android-Benutzer, die Erhöhung der Leistung und die Behebung von Fehlern. Marshmallow führt jedoch auch einige wesentliche Änderungen an den Grundlagen der Android-Plattform ein. Diese Verbesserungen werden in den folgenden Abschnitten näher beleuchtet. Zudem erhalten Sie Links mit weiteren Informationen für den Einstieg in die Nutzung der neuen Android Marshmallow-Features in Ihrer App.

Laufzeitberechtigungen

Das Berechtigungssystem von Android wurde seit Android Lollipop erheblich optimiert und vereinfacht. In Android Marshmallow gewähren Benutzer Berechtigungen von Fall zu Fall zur Laufzeit, nicht mehr zum Zeitpunkt der Installation. Um dieses Feature unter Android Marshmallow und höher zu unterstützen, müssen Sie Ihre App so entwerfen, dass der Benutzer zur Laufzeit zur Eingabe von Berechtigungen aufgefordert wird (im Kontext der Anwendung, für die die Berechtigungen benötigt werden). Diese Änderung optimiert den Installations- und Upgradeprozess Ihrer App und sorgt dafür, dass Benutzer Ihre App sofort verwenden können.

Weitere Details sowie Codebeispiele zur Implementierung von Laufzeitberechtigungen in Xamarin.Android-Apps finden Sie unter Requesting Runtime Permissions in Android Marshmallow (Anfordern von Laufzeitberechtigungen in Android Marshmallow). Xamarin bietet auch eine Beispiel-App, die veranschaulicht, wie Laufzeitberechtigungen in Android Marshmallow (und höher) funktionieren: RuntimePermissions.

Diese Beispiel-App demonstriert Folgendes:

  • Überprüfen und Anfordern von Berechtigungen zur Laufzeit
  • Deklarieren von Berechtigungen für Android Marshmallow-Geräte

So verwenden Sie diese Beispiel-App:

  1. Tippen Sie auf die Schaltfläche Kamera oder Kontakte, um ein Dialogfeld zum Anfordern von Berechtigungen anzuzeigen.
  2. Gewähren Sie Berechtigungen zum Anzeigen von Kamera- oder Kontaktfragmenten.

Weitere Informationen zu den neuen Features für Laufzeitberechtigungen in Android Marshmallow finden Sie unter Working with System Permissions (Arbeiten mit Systemberechtigungen).

Verbesserungen bei der Authentifizierung

Android Marshmallow enthält zwei Verbesserungen bei der Authentifizierung, die die Notwendigkeit der Eingabe von Kennwörtern eliminieren:

  • Fingerabdruckauthentifizierung : Verwendet einen Fingerabdruckscan, um Benutzer zu authentifizieren.

  • Bestätigen von Anmeldeinformationen : Authentifiziert Benutzer basierend darauf, wie lange das Gerät entsperrt wurde.

Lernen Sie diese neuen Features anhand der Links und Beispiel-Apps in den nächsten Abschnitten kennen.

Fingerabdruckauthentifizierung

Auf Geräten, die Hardware für Fingerabdruckscans unterstützen, können Sie die neue FingerPrintManager-Klasse zum Authentifizieren von Benutzern verwenden. Weitere Informationen zum Feature der Fingerabdruckauthentifizierung in Android Marshmallow finden Sie unter Fingerprint Authentication (Fingerabdruckauthentifizierung).

Xamarin stellt eine Beispiel-App bereit, mit der die Verwendung von registrierten Fingerabdrücken zum Authentifizieren eines Benutzers in Ihrer App veranschaulicht wird: FingerprintDialog.

So verwenden Sie diese Beispiel-App:

  1. Tippen Sie auf die Schaltfläche Kaufen, um ein Dialogfeld zur Authentifizierung per Fingerabdruck zu öffnen.
  2. Scannen Sie Ihren registrierten Fingerabdruck, um sich zu authentifizieren.

Beachten Sie, dass diese Beispiel-App ein Gerät mit Fingerabdruckleser erfordert. Die App speichert Ihren Fingerabdruck (oder Ihr Kennwort) nicht.

Interaktionen per Stimme

Das in Android Marshmallow neu eingeführte Feature für Interaktionen per Stimme ermöglicht es Benutzern Ihrer App, mithilfe ihrer Stimme Aktionen zu bestätigen und Optionen aus einer Liste auszuwählen. Weitere Informationen zu Interaktionen per Stimme finden Sie unter Overview of the Voice Interaction API (Übersicht über die API für Interaktionen per Stimme).

Informationen sowie Codebeispiele zum Implementieren von solchen Interaktionen in Xamarin.Android-Apps finden Sie unter Add a Conversation to your Android App with Voice Interactions (Hinzufügen einer Unterhaltung zu Ihrer Android-App mit Interaktionen per Stimme). Es steht eine Beispiel-App zur Verfügung, die die Verwendung der API für Interaktionen per Stimme in einer Xamarin.Android-App veranschaulicht: Voice Interactions.

Bestätigen von Anmeldeinformationen

Das neue Android Marshmallow-Feature zum Bestätigen von Anmeldeinformationen authentifiziert Benutzer basierend auf Informationen dazu, wie lange ein Gerät entsperrt ist. So müssen Benutzer sich nicht mehr Kennwörter für jede einzelne App merken und diese eingeben. Verwenden Sie zum Implementieren dieses Features die neue SetUserAuthenticationValidityDurationSeconds-Methode von KeyGenerator. Verwenden Sie die CreateConfirmDeviceCredentialIntent-Methode von KeyGuardManager, um einen Benutzer aus der App heraus erneut zu authentifizieren. Weitere Informationen zu diesem neuen Feature in Android Marshmallow finden Sie unter Confirm Credential (Bestätigen von Anmeldeinformationen).

Xamarin stellt eine Beispiel-App bereit, die die Verwendung von Geräteanmeldeinformationen (z. B. PIN, Muster oder Kennwort) in Ihrer App veranschaulicht: ConfirmCredential

So verwenden Sie diese Beispiel-App:

  1. Richten Sie einen sicheren Sperrbildschirm auf Ihrem Gerät ein (Bildschirmsperre für sichere > Sicherheit>).
  2. Tippen Sie auf die Schaltfläche Kaufen, und bestätigen Sie die Anmeldeinformationen für den sicheren Sperrbildschirm.

Benutzerdefinierte Chrome-Registerkarten

App-Entwickler haben zwei Optionen, wenn ein Benutzer auf eine URL tippt: Die App kann entweder einen Browser starten oder einen WebView-basierten App-internen Browser verwenden. Beide Optionen stellen Herausforderungen dar : Das Starten des Browsers ist ein schwerer Kontextwechsel, der nicht anpassbar ist, während WebViews den Zustand nicht für den Browser freigeben kann. Die Verwendung von WebViews kann zudem zusätzlichen Verwaltungsaufwand bedeuten.

Mit benutzerdefinierten Chrome-Registerkarten können Sie Websites einfach und elegant mit der Funktionalität von Chrome anzeigen, ohne dass Ihre Benutzer Ihre App verlassen müssen. Mit diesem Feature kann Ihre App die Weboberfläche der Benutzer besser steuern, und es sorgt für einen nahtlosen Übergang zwischen nativen und Webinhalten, ohne dass Sie auf einen WebView zurückgreifen müssen. Ihre App kann außerdem das Verhalten und Aussehen von Chrome beeinflussen, indem Folgendes angepasst wird:

  • Farbe der Symbolleiste

  • Animationen für das Starten und Beenden

  • Benutzerdefinierte Aktionen in der Symbolleiste und dem Überlaufmenü von Chrome

  • Vorabstart und Vorababruf von Inhalten in Chrome (zum schnelleren Laden)

Um dieses Feature in Ihrer Xamarin.Android-App zu nutzen, laden Sie die Android Support Custom Tabs Library (Android-Bibliothek zur Unterstützung von benutzerdefinierten Registerkarten) herunter und installieren sie. Weitere Informationen zu diesem Feature finden Sie unter Chrome Custom Tabs (Benutzerdefinierte Chrome-Registerkarten).

Unterstützungsbibliothek für Material Design

In Android Lollipop wurde Material Design als neue Entwurfssprache eingeführt, um die Android-Benutzeroberfläche zu aktualisieren (Informationen zur Verwendung von Material Design in Xamarin.Android-Apps finden Sie unter Material Theme). Mit Android Marshmallow hat Google die Android Design Support Library (Unterstützungsbibliothek für Entwürfe für Android) eingeführt, um es App-Entwicklern zu erleichtern, das Verhalten und Aussehen von Material Design zu übernehmen. Diese Bibliothek schließt folgende Komponenten ein:

  • CoordinatorLayout : Das neue CoordinatorLayout Widget ist ähnlich, aber leistungsstärker als ein FrameLayout. Sie können CoordinatorLayout als Container für untergeordnete Ansichten oder als Layout auf oberster Ebene verwenden. Das Widget bietet auch ein layout_anchor-Attribut, mit dem sich Ansichten in Relation zu anderen Ansichten verankern lassen.

  • Reduzieren von Symbolleisten : Die neue CollapsingToolbarLayout ist eine zusammenbrechende App-Leiste, die ein Wrapper für Toolbarist. (Beachten Sie, dass die App-Leiste früher als Aktionsleiste bezeichnet wurde.)

  • Schwebende Aktionsschaltfläche : Eine runde Schaltfläche, die die primäre Aktion auf der Benutzeroberfläche Ihrer App angibt.

  • Schwebende Bezeichnungen zum Bearbeiten von Text – Verwendet ein neues TextInputLayout Widget (das umschließt EditText), um eine schwebende Bezeichnung anzuzeigen, wenn ein Hinweis ausgeblendet wird, wenn ein Benutzer Text eingibt.

  • Navigationsansicht : Das neue NavigationView Widget hilft Ihnen dabei, den Navigationsschubladen auf eine Weise zu verwenden, die für Benutzer einfacher zu navigieren ist.

  • Snackbar : Das neue SnackBar Widget ist ein einfacher Feedbackmechanismus (ähnlich einem Popup), der eine kurze Nachricht am unteren Bildschirmrand anzeigt, die über allen anderen Elementen auf dem Bildschirm angezeigt wird.

  • Materialregisterkarten : Das neue TabLayout Widget bietet ein horizontales Layout zum Anzeigen von Registerkarten, um die Navigation auf oberster Ebene in Ihrer App zu implementieren.

Um die Unterstützungsbibliothek für Entwürfe in Ihrer Xamarin.Android-App zu nutzen, laden Sie das NuGet-Paket Xamarin Support Library Design herunter und installieren es.

Weitere Informationen sowie Codebeispiele zur Verwendung der Material Design-Unterstützungsbibliothek in Xamarin.Android-Apps finden Sie unter Beautiful Material Design with the Android Support Design Library (Ansprechendes Material Design mit der Unterstützungsbibliothek für Entwürfe für Android). Xamarin stellt eine Beispiel-App bereit, die die neue Android Design-Bibliothek unter Xamarin.Android – Cheesesquare vortäusst. Dieses Beispiel veranschaulicht die folgenden Funktionen der Entwurfsbibliothek:

  • Reduzierbare Symbolleiste
  • Abdockbare Aktionsschaltfläche
  • Verankerung von Ansichten
  • NavigationView
  • Snackbar

Weitere Informationen zur Entwurfsbibliothek finden Sie im Android Developer-Blog unter Android Design Support Library (Unterstützungsbibliothek für Entwürfe für Android).

Zusätzliche Bibliotheksupdates

Zusätzlich zu Android Marshmallow hat Google zugehörige Updates für verschiedene Android-Kernbibliotheken angekündigt. Xamarin bietet Xamarin.Android-Unterstützung für diese Updates über verschiedene NuGet-Pakete in der Vorschauversion:

  • Google Play Services – Die neueste Version von Google Play Services enthält das neue Feature "App-Einladungen ", das es Benutzern ermöglicht, ihre App mit Freunden zu teilen. Weitere Informationen zu diesem Feature finden Sie unter Expand Your App's Reach with Google's App Invites (Erweitern der Reichweite Ihrer App mit App-Einladungen von Google).

  • Android-Supportbibliotheken : Diese NuGets bieten Features, die nur für Bibliotheks-APIs verfügbar sind, und bieten gleichzeitig abwärtskompatible Versionen der Android-Framework-APIs.

  • Android Wearable Library – dieses NuGet enthält Google Play Services-Bindungen. Die neueste Version der Bibliothek für Wearables bietet neue Features (beispielsweise eine einfachere Navigation für benutzerdefinierte Apps) für die Android Wear-Plattform.

Zusammenfassung

In diesem Artikel wurde Android Marshmallow vorgestellt und erläutert, wie Sie die neuesten Tools und Pakete für die Xamarin.Android-Entwicklung für Marshmallow installieren und konfigurieren. Der Artikel bot auch einen Überblick über die spannendsten neuen Android Marshmallow-Features für die Xamarin.Android-Entwicklung.