Caractéristiques de Nougat

Comment commencer à utiliser Xamarin.Android pour développer des applications pour Android Nougat.

Cet article fournit une vue d’ensemble des fonctionnalités introduites dans Android Nougat, explique comment préparer Xamarin.Android pour le développement Android Nougat et fournit des liens vers des exemples d’applications qui illustrent comment utiliser les fonctionnalités Android Nougat dans les applications Xamarin.Android.

Vue d’ensemble

Android Nougat est le suivi de Google pour Android 6.0 Marshmallow. Xamarin.Android prend en charge les liaisons Android 7.x dans Xamarin Android 7.0 et versions ultérieures. Android Nougat ajoute de nombreuses nouvelles API pour les fonctionnalités nougat décrites ci-dessous ; ces API sont disponibles pour les applications Xamarin.Android lorsque vous utilisez Xamarin.Android 7.0.

Images de héros de tablettes et de téléphones Android exécutant Android Nougat

Pour plus d’informations sur les API Android 7.x, consultez Référence des API Android. Pour obtenir la liste des problèmes connus de Xamarin.Android 7.0, consultez les notes de publication.

Android Nougat fournit de nombreuses nouvelles fonctionnalités qui intéressent les développeurs Xamarin.Android. Ces fonctionnalités sont les suivantes :

  • Prise en charge de plusieurs fenêtres : cette amélioration permet aux utilisateurs d’ouvrir deux applications à la fois sur l’écran.

  • Améliorations des notifications : le système de notifications repensé dans Android Nougat inclut une fonctionnalité de réponse directe qui permet aux utilisateurs de répondre rapidement aux messages texte directement à partir de l’interface utilisateur de notification. En outre, si votre application crée des notifications pour les messages reçus, la nouvelle fonctionnalité de notifications groupées peut regrouper des notifications sous la forme d’un seul groupe lorsque plusieurs messages sont reçus.

  • Data Saver : cette fonctionnalité est un nouveau service système qui permet de réduire l’utilisation des données cellulaires par les applications ; il permet aux utilisateurs de contrôler la façon dont les applications utilisent les données cellulaires.

En outre, Android Nougat apporte de nombreuses autres améliorations intéressantes pour les développeurs d’applications, telles qu’une nouvelle fonctionnalité de configuration de sécurité réseau, Doze on the Go, une attestation de clé, de nouvelles API paramètres rapides, la prise en charge des paramètres régionaux multiples, les API ICU4J, les améliorations de WebView, l’accès aux fonctionnalités de langage Java 8, l’accès au répertoire délimité, une API de pointeur personnalisé, la prise en charge de la vr de plateforme, les fichiers virtuels et les optimisations du traitement en arrière-plan.

Cet article explique comment commencer à créer des applications avec Android Nougat pour essayer les nouvelles fonctionnalités et planifier la migration ou le travail de fonctionnalité pour cibler la nouvelle plateforme Android Nougat.

Spécifications

Les éléments suivants sont nécessaires pour utiliser les nouvelles fonctionnalités Android Nougat dans les applications basées sur Xamarin :

  • Visual Studio ou Visual Studio pour Mac : si vous utilisez Visual Studio, la version 4.2.0.628 ou ultérieure de Visual Studio Tools pour Xamarin est requise. Si vous utilisez Visual Studio pour Mac, la version 6.1.0 ou ultérieure de Visual Studio pour Mac est requise.

  • Xamarin.Android : Xamarin.Android 7.0 ou version ultérieure doit être installé et configuré avec Visual Studio ou Visual Studio pour Mac.

  • Kit de développement logiciel (SDK) Android : android SDK 7.0 (API 24) ou version ultérieure doit être installé via le Gestionnaire de sdk Android.

  • Kit de développement Java : le développement Xamarin Android 7.0 nécessite JDK 8 ou version ultérieure si vous développez pour le niveau d’API 24 ou supérieur (JDK 8 prend également en charge les niveaux d’API antérieurs à 24). La version 64 bits de JDK 8 est requise si vous utilisez des contrôles personnalisés ou l’aperçu des formulaires.

Important

Xamarin.Android ne prend pas en charge JDK 9.

Notez que les applications doivent être reconstruites avec Xamarin C6SR4 ou version ultérieure pour fonctionner de manière fiable avec Android Nougat. Étant donné qu’Android Nougat peut uniquement être lié aux bibliothèques natives fournies par NDK, les applications existantes utilisant des bibliothèques telles que Mono.Data.Sqlite.dll peuvent se bloquer lors de l’exécution sur Android Nougat si elles ne sont pas correctement reconstruites.

Mise en route

Pour commencer à utiliser Android Nougat avec Xamarin.Android, vous devez télécharger et installer les derniers outils et packages sdk avant de pouvoir créer un projet Android Nougat :

  1. Installez les dernières mises à jour Xamarin.Android à partir de Xamarin.

  2. Installez les packages et outils Android 7.0 (API 24) ou version ultérieure.

  3. Créez un projet Xamarin.Android qui cible Android Nougat.

  4. Configurez un émulateur ou un appareil pour Android Nougat.

Chacune de ces étapes est expliquée dans les sections suivantes :

Installer Xamarin Mises à jour

Pour ajouter la prise en charge de Xamarin pour Android Nougat, modifiez le canal de mises à jour dans Visual Studio ou Visual Studio pour Mac par le canal Stable et appliquez les dernières mises à jour. Si vous avez également besoin de fonctionnalités actuellement disponibles uniquement dans le canal Alpha ou Bêta, vous pouvez basculer vers le canal Alpha ou Bêta (les canaux Alpha et Bêta prennent également en charge Android 7.x). Pour plus d’informations sur la modification du canal des mises à jour (versions), consultez Modification du canal Mises à jour.

Installer le Kit de développement logiciel (SDK) Android

Pour créer un projet avec Xamarin Android 7.0, vous devez d’abord utiliser le Gestionnaire du SDK Android pour installer le SDK Platform Android N (API 24) ou version ultérieure. Vous devez également installer les derniers outils du KIT de développement logiciel (SDK) Android :

  1. Démarrez le Gestionnaire du KIT de développement logiciel (SDK) Android (dans Visual Studio pour Mac, utilisez Outils > Ouvrir le Gestionnaire de SDK Android... ; dans Visual Studio, utilisez Outils > Gestionnaire de sdk Android > Android).

  2. Installez Android 7.0 (API 24) ou version ultérieure :

    Sélection de packages Android 7.0 dans le Gestionnaire de sdk Android

  3. Installez les derniers outils du Kit de développement logiciel (SDK) Android :

    Sélection des derniers outils du Kit de développement logiciel (SDK) Android dans le Gestionnaire de sdk Android

    Vous devez installer android SDK Tools version 25.2.2 ou ultérieure, Android SDK Platform Tools 24.0.3 ou version ultérieure et Android SDK Build tools 24.0.2 ou version ultérieure.

  4. Vérifiez que l’emplacement du Kit de développement Java est configuré pour JDK 1.8 :

    Configuration du chemin JDK 8 sous Options d’outils

    Pour afficher ce paramètre dans Visual Studio, cliquez sur Options outils >> Xamarin > Paramètres Android. Dans Visual Studio pour Mac, cliquez sur Préférences > Projets > SDK Emplacements > Android.

Démarrer un projet Xamarin.Android

Créez un projet Xamarin.Android. Si vous débutez dans le développement Android avec Xamarin, consultez Hello, Android pour en savoir plus sur la création de projets Xamarin.Android.

Lorsque vous créez un projet Android, vous devez configurer les paramètres de version pour cibler Android 7.0 ou version ultérieure. Par exemple, pour cibler votre projet pour Android 7.0, vous devez configurer le niveau d’API Android cible de votre projet sur Android 7.0 (API 24 - Nougat) . Il est recommandé de définir votre niveau d’infrastructure cible sur API 24 ou version ultérieure. Pour plus d’informations sur la configuration des niveaux de niveau de l’API Android, consultez Présentation des niveaux d’API Android.

Notes

Actuellement, vous devez définir la version Minimale d’Android sur Android 7.0 (API 24 - Nougat) pour déployer votre application sur des appareils ou émulateurs Android Nougat.

Configurer un émulateur ou un appareil

Si vous utilisez un émulateur, démarrez android AVD Manager et créez un appareil à l’aide des paramètres suivants :

  • Appareil : Nexus 5X, Nexus 6, Nexus 6P, Nexus Player, Nexus 9 ou Pixel C.
  • Cible : Android 7.0 - NIVEAU API 24
  • ABI : x86 ou x86_64

Par exemple, cet appareil virtuel est configuré pour émuler un Nexus 6 :

Configuration d’un AVD à l’aide d’un appareil Nexus 6, d’une cible Android 7.0 et d’Intel Atom x86 CPU/ABI

Si vous utilisez un appareil physique tel qu’un Nexus 5X, 6 ou 9, vous pouvez mettre à jour votre appareil via des mises à jour automatiques en direct (OTA) ou télécharger une image système et flasher votre appareil directement. Pour plus d’informations sur la mise à jour manuelle de votre appareil vers Android Nougat, consultez Images OTA pour les appareils Nexus.

Notez que les appareils Nexus 5 ne sont pas pris en charge par Android Nougat.

Nouvelles fonctionnalités

Android Nougat introduit une variété de nouvelles fonctionnalités et fonctionnalités, telles que la prise en charge multi-fenêtres, les améliorations des notifications et l’économiseur de données. Les sections suivantes mettent en évidence ces fonctionnalités et fournissent des liens pour vous aider à commencer à les utiliser dans votre application.

Mode multi-fenêtres

Le mode multi-fenêtre permet aux utilisateurs d’ouvrir deux applications à la fois avec une prise en charge multitâche complète. Ces applications peuvent s’exécuter côte à côte (paysage) ou un au-dessus de l’autre (portrait) en mode écran partagé. Les utilisateurs peuvent faire glisser un séparateur entre les applications pour les redimensionner, et ils peuvent couper et coller du contenu entre les applications. Lorsque deux applications sont présentées en mode multi-fenêtres, l’activité sélectionnée continue de s’exécuter tandis que l’activité non sélectionnée est suspendue, mais toujours visible. Le mode multi-fenêtre ne modifie pas le cycle de vie de l’activité Android.

Exemples d’applications s’exécutant en mode multi-fenêtres à la fois dans portrait et paysage

Vous pouvez configurer la façon dont les activités de votre application Xamarin.Android prennent en charge le mode multi-fenêtres. Par exemple, vous pouvez configurer des attributs qui définissent la taille minimale et la hauteur et la largeur par défaut de votre application en mode multi-fenêtres. Vous pouvez utiliser la nouvelle Activity.IsInMultiWindowMode propriété pour déterminer si votre activité est en mode multi-fenêtres. Par exemple :

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

L’exemple d’application MultiWindowPlayground inclut du code C# qui montre comment tirer parti de plusieurs interfaces utilisateur de fenêtre avec votre application.

Pour plus d’informations sur le mode multi-fenêtres, consultez La prise en charge des fenêtres multiples.

Notifications améliorées

Android Nougat introduit un système de notification repensé. Il intègre une nouvelle fonctionnalité de réponse directe qui permet aux utilisateurs de répondre rapidement aux notifications pour les messages texte entrants directement dans l’interface utilisateur de notification. À compter d’Android 7.0, les messages de notification peuvent être regroupés en un seul groupe lorsque plusieurs messages sont reçus. En outre, les développeurs peuvent personnaliser les affichages de notification, tirer parti des décorations système dans les notifications et tirer parti de nouveaux modèles de notification lors de la génération de notifications.

Réponse directe

Lorsqu’un utilisateur reçoit une notification pour un message entrant, Android Nougat permet de répondre au message dans la notification (plutôt que d’ouvrir l’application de messagerie pour envoyer une réponse). Cette fonctionnalité de réponse inline permet aux utilisateurs de répondre rapidement à un SMS ou un sms directement dans l’interface de notification :

Capture d’écran d’une notification avec un champ de réponse directe inline

Pour prendre en charge cette fonctionnalité dans votre application, vous devez ajouter des actions de réponse inline à votre application via un objet RemoteInput afin que les utilisateurs puissent répondre via du texte directement à partir de l’interface utilisateur de notification. Par exemple, le code suivant génère un pour recevoir une RemoteInput entrée de texte, génère une intention en attente pour l’action de réponse et crée une action activée pour l’entrée distante :

// 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 ();

Cette action est ajoutée à la notification :

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

L’exemple d’application Service de messagerie inclut du code C# qui montre comment étendre les notifications avec un RemoteInput objet. Pour plus d’informations sur l’ajout d’actions de réponse inline à votre application pour Android 7.0 ou version ultérieure, consultez la rubrique Réponse Android aux notifications .

Notifications groupées

Android Nougat peut regrouper les messages de notification (par exemple, par rubrique de message) et afficher le groupe plutôt que chaque message distinct. Cette fonctionnalité de notifications groupées permet aux utilisateurs d’ignorer ou d’archiver un groupe de notifications en une seule action. L’utilisateur peut glisser vers le bas pour développer le bundle de notifications afin d’afficher chaque notification en détail :

Exemple de capture d’écran de notifications groupées

Pour prendre en charge les notifications groupées, votre application peut utiliser la méthode Builder.SetGroup pour regrouper des notifications similaires. Pour plus d’informations sur les groupes de notifications groupés dans Android N, consultez la rubrique Notifications de regroupement Android.

Vues personnalisées

Android Nougat vous permet de créer des affichages de notification personnalisés avec des en-têtes de notification système, des actions et des dispositions extensibles. Pour plus d’informations sur les affichages de notification personnalisés dans Android Nougat, consultez la rubrique Améliorations des notifications Android.

Économiseur de données

À compter d’Android Nougat, les utilisateurs peuvent activer un nouveau paramètre d’économiseur de données qui bloque l’utilisation des données en arrière-plan. Ce paramètre indique également à votre application d’utiliser moins de données au premier plan dans la mesure du possible. ConnectivityManager a été étendu dans Android Nougat afin que votre application puisse case activée si l’utilisateur a activé Data Saver afin que votre application puisse faire un effort pour limiter son utilisation des données lorsque l’économiseur de données est activé.

Pour plus d’informations sur la nouvelle fonctionnalité d’enregistrement de données dans Android Runtime, consultez la rubrique Optimisation de l’utilisation des données réseau Android.

Raccourcis d’application

Android 7.1 a introduit une fonctionnalité de raccourcis d’application qui permet aux utilisateurs de démarrer rapidement des tâches courantes ou recommandées avec votre application. Pour activer le menu des raccourcis, l’utilisateur appuie longuement sur l’icône de l’application pendant une seconde ou plus : le menu s’affiche avec une vibration rapide. La libération de la pression entraîne le maintien du menu :

Exemple d’écran d’un menu contextuel d’application pour une application de messagerie

Cette fonctionnalité est disponible uniquement au niveau d’API 25 ou supérieur. Pour plus d’informations sur la nouvelle fonctionnalité Raccourcis d’application dans Android 7.1, consultez la rubrique Raccourcis d’application Android.

Exemple de code

Plusieurs exemples Xamarin.Android sont disponibles pour vous montrer comment tirer parti des fonctionnalités d’Android Nougat :

  • MultiWindowPlayground illustre l’utilisation de l’API multi-fenêtre disponible dans Android Runtime. Vous pouvez basculer l’exemple d’application en mode multi windows pour voir comment il affecte le cycle de vie et le comportement de l’application.

  • Le service de messagerie est un service simple qui envoie des notifications à l’aide de NotificationCompatManager. Il étend également la notification avec un RemoteInput objet pour permettre aux appareils Android Nougat de répondre par sms directement à partir de la notification sans avoir à ouvrir une application.

  • Active Notifications montre comment utiliser l’API NotificationManager pour vous indiquer le nombre de notifications actuellement affichées par votre application.

  • Accès au répertoire délimité Montre comment utiliser l’API d’accès au répertoire délimité pour accéder facilement à des répertoires spécifiques. Cela constitue une alternative à la définition d’autorisations READ_EXTERNAL_STORAGE ou WRITE_EXTERNAL_STORAGE dans votre manifeste.

  • Démarrage direct Illustre comment stocker des données dans un stockage chiffré par l’appareil qui est toujours disponible pendant le démarrage de l’appareil avant et après l’entrée des informations d’identification de l’utilisateur (code confidentiel/modèle/mot de passe).

Résumé

Cet article a présenté Android Nougat et expliqué comment installer et configurer les derniers outils et packages pour le développement Xamarin.Android sur Android Nougat. Il a également fourni une vue d’ensemble des principales fonctionnalités disponibles dans Android Nougat, avec des liens vers des exemples de code source pour vous aider à commencer à créer des applications pour Android Nougat.