Partager via


Fonctionnalités Oreo

Comment commencer à utiliser Xamarin.Android pour développer des applications pour la dernière version d’Android.

Android 8.0 Oreo est la dernière version d’Android disponible à partir de Google. Android Oreo offre de nombreuses nouvelles fonctionnalités intéressantes pour les développeurs Xamarin.Android. Ces fonctionnalités incluent les canaux de notification, les badges de notification, les polices personnalisées en XML, les polices téléchargeables, le remplissage automatique et l’image dans l’image (PIP). Android Oreo inclut de nouvelles API pour ces nouvelles fonctionnalités, et ces API sont disponibles pour les applications Xamarin.Android lorsque vous utilisez Xamarin.Android 8.0 et versions ultérieures.

Image de héros Android Oreo

Cet article est structuré pour vous aider à commencer à développer des applications Xamarin.Android pour Android 8.0 Oreo. Il explique comment installer les mises à jour nécessaires, configurer le Kit de développement logiciel (SDK) et créer un émulateur (ou appareil) à des fins de test. Il fournit également un aperçu des nouvelles fonctionnalités d’Android 8.0 Oreo, avec des liens vers des exemples d’applications qui illustrent l’utilisation des fonctionnalités Android Oreo dans les applications Xamarin.Android.

Spécifications

Vous devez utiliser les fonctionnalités Android Oreo dans les applications Xamarin :

  • Visual Studio : si vous utilisez Windows, version 15.5 ou ultérieure de Visual Studio est nécessaire. Si vous utilisez un Mac, Visual Studio pour Mac version 7.2.0 est requise.

  • Xamarin.Android – Xamarin.Android 8.0 ou version ultérieure doit être installé et configuré avec Visual Studio.

  • Android SDK – Android SDK 8.0 (API 26) ou version ultérieure doit être installé via le Gestionnaire android SDK.

Mise en route

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

  1. Effectuez une mise à jour vers la dernière version de Visual Studio.

  2. Installez les packages et outils Android 8.0.0 (API 26) ou ultérieur via le Gestionnaire du SDK.

  3. Créez un projet Xamarin.Android qui cible Android Oreo (API 26).

  4. Configurez un émulateur ou un appareil pour tester des applications Android Oreo.

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

Mettre à jour Visual Studio et Xamarin.Android

Pour ajouter la prise en charge d’Android Oreo à Visual Studio, procédez comme suit :

  • Pour Visual Studio 2019, utilisez le Gestionnaire du KIT de développement logiciel (SDK) pour installer le niveau d’API 26.0 ou version ultérieure.

  • Si vous utilisez Visual Studio 2017 :

    1. Mise à jour vers Visual Studio 2017 version 15.7 ou ultérieure (voir Mettre à jour Visual Studio 2017).

    2. Utilisez le Gestionnaire du Kit de développement logiciel (SDK) pour installer le niveau d’API 26.0 ou version ultérieure.

Pour plus d’informations sur la prise en charge de Xamarin pour Android Oreo, consultez les notes de publication Xamarin.Android 8.0.

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

Pour créer un projet avec Xamarin.Android 8.0, vous devez d’abord utiliser le Gestionnaire du sdk Android Xamarin pour installer la plateforme sdk pour Android 8.0 - Oreo ou version ultérieure. Vous devez également installer Android SDK Tools 26.0 ou version ultérieure.

  1. Démarrez le Gestionnaire du Kit de développement logiciel (SDK) (dans Visual Studio, cliquez sur Outils > Android > SDK Manager).

  2. Installez les packages Android 8.0 - Oreo . Si vous utilisez l’émulateur android SDK, veillez à inclure les images système x86 dont vous aurez besoin :

    Sélection de packages Android 8.0 dans le Gestionnaire du Kit de développement logiciel (SDK) Android

  3. Installez Android SDK Tools 26.0.2 ou version ultérieure, Android SDK Platform-Tools 26.0.0 ou version ultérieure et Android SDK Build-Tools 26.0.0 (ou version ultérieure) :

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

Démarrer un projet Xamarin.Android

Créez un projet Xamarin.Android. Si vous débutez avec 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 8.0 ou version ultérieure. Par exemple, pour cibler votre projet pour Android 8.0, vous devez configurer le niveau d’API Android cible de votre projet sur Android 8.0 (API 26). Il est recommandé de définir également votre niveau d’infrastructure cible sur API 26 ou version ultérieure. Pour plus d’informations sur la configuration des niveaux de niveau d’API Android, consultez Présentation des niveaux d’API Android.

Configurer un émulateur ou un appareil

Si vous tentez de lancer le Gestionnaire AVD basé sur l’interface graphique graphique Google par défaut après avoir installé Android SDK Tools 26.0 ou version ultérieure, vous pouvez obtenir la boîte de dialogue d’erreur suivante, qui vous demande d’utiliser l’outil avdmanager du gestionnaire avdmanager en ligne de commande à la place :

Ce message s’affiche, car Google ne fournit plus de gestionnaire AVD d’interface graphique autonome qui prend en charge l’API 26.0 et versions ultérieures. Pour Android 8.0 Oreo, vous devez utiliser le Gestionnaire d’émulateur Android Xamarin ou l’outil en ligne avdmanager de commande pour créer des appareils virtuels pour Android Oreo.

Pour utiliser l’Gestionnaire de périphériques Android pour créer et gérer des appareils virtuels, consultez Gestion des appareils virtuels avec l’Gestionnaire de périphériques Android. Pour créer des appareils virtuels sans l’Gestionnaire de périphériques Android, suivez les étapes décrites dans la section suivante.

Création d’appareils virtuels à l’aide d’avdmanager

Pour utiliser avdmanager pour créer un appareil virtuel, procédez comme suit :

  1. Ouvrez une fenêtre d’invite de commandes et définissez JAVA_HOME l’emplacement du Kit de développement logiciel (SDK) Java sur votre ordinateur. Pour une installation Xamarin classique, vous pouvez utiliser la commande suivante :

    setx JAVA_HOME "C:\Program Files\Java\jdk1.8.0_131"
    
  2. Ajoutez l’emplacement du dossier android SDK bin à votre PATH. Pour une installation Xamarin classique, vous pouvez utiliser la commande suivante :

    setx PATH "%PATH%;C:\Program Files (x86)\Android\android-sdk\tools\bin"
    
  3. Fermez la fenêtre d’invite de commandes et ouvrez une nouvelle fenêtre d’invite de commandes. Créez un appareil virtuel à l’aide de la commande avdmanager . Par exemple, pour créer un AVD nommé AVD-Oreo-8.0 à l’aide de l’image système x86 pour le niveau 26 de l’API, utilisez la commande suivante :

    avdmanager create avd -n AVD-Oreo-8.0 -k "system-images;android-26;google_apis;x86"
    
  4. Lorsque vous êtes invité à créer un profil matériel personnalisé [non] vous pouvez entrer non et accepter le profil matériel par défaut. Si vous dites oui, avdmanager vous invite à vous poser une liste de questions pour personnaliser le profil matériel.

Une fois que vous avez avdmanager pour créer votre appareil virtuel, il sera inclus dans le menu déroulant de l’appareil :

Nouvel AVD ajouté au menu déroulant de l’appareil

Pour plus d’informations sur la configuration d’un émulateur Android pour le test et le débogage, consultez Débogage sur l’émulateur Android.

Si vous utilisez un appareil physique tel qu’un Nexus ou un pixel, vous pouvez mettre à jour votre appareil par le biais de mises à jour automatiques sur l’air (OTA) ou télécharger une image système et flasher directement votre appareil. Pour plus d’informations sur la mise à jour manuelle de votre appareil vers Android Oreo, consultez Images d’usine pour les appareils Nexus et Pixel.

Nouvelles fonctionnalités

Android Oreo introduit diverses nouvelles fonctionnalités et fonctionnalités, telles que les canaux de notification, les badges de notification, les polices personnalisées en XML, les polices téléchargeables, le remplissage automatique et l’image dans l’image. Les sections suivantes mettent en évidence ces fonctionnalités et fournissent des liens pour vous aider à les utiliser dans votre application.

Canaux de notification

Les canaux de notification sont des catégories définies par l’application pour les notifications. Vous pouvez créer un canal de notification pour chaque type de notification que vous devez envoyer, et vous pouvez créer des canaux de notification pour refléter les choix effectués par les utilisateurs de votre application. La nouvelle fonctionnalité de canaux de notification vous permet de donner aux utilisateurs un contrôle précis sur différents types de notifications. Par exemple, si vous implémentez une application de messagerie, vous pouvez créer des canaux de notification distincts pour chaque groupe de conversation créé par un utilisateur.

Les canaux de notification expliquent comment créer un canal de notification et l’utiliser pour publier des notifications locales.

Notification Badges

Les badges de notification sont de petits points qui apparaissent sur les icônes d’application, comme illustré dans cette capture d’écran :

Exemples de badges de notification sur les icônes d’application

Ces points indiquent qu’il existe de nouvelles notifications pour un ou plusieurs canaux de notification dans l’application associée à cette icône d’application : il s’agit de notifications auxquelles l’utilisateur n’a pas encore ignoré ou agi. Les utilisateurs peuvent appuyer longuement sur une icône pour regarder les notifications associées à un badge de notification, ignorer ou agir sur les notifications à partir du menu de longue pression qui appétitait.

Pour plus d’informations sur les badges de notification, consultez la rubrique Badges de notification des développeurs Android.

Polices personnalisées dans XML

Android Oreo introduit des polices en XML, ce qui vous permet d’incorporer des polices personnalisées en tant que ressources. Les formats de police OpenType (.otf) et TrueType (.ttf) sont pris en charge. Pour ajouter des polices en tant que ressources, procédez comme suit :

  1. Créez un dossier Resources/font .

  2. Copiez vos fichiers de police (par exemple, .ttf et .otf fichiers) dans Ressources/polices.

  3. Si nécessaire, renommez chaque fichier de police afin qu’il respecte les conventions d’affectation de noms de fichiers Android (c’est-à-dire, utilisez uniquement des caractères minuscules a-z, 0-9 et des traits de soulignement dans les noms de fichiers). Par exemple, le fichier Pacifico-Regular.ttf de police peut être renommé en quelque sorte comme pacifico.ttf.

  4. Appliquez la police personnalisée à l’aide du nouvel android:fontFamily attribut dans votre code XML de disposition. Par exemple, la déclaration suivante TextView utilise la ressource de police pacifico.ttf ajoutée :

    <TextView
      android:text="Example Text in Pacifico Regular"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:fontFamily="@font/pacifico" />
    

Vous pouvez également créer un fichier XML de famille de polices qui décrit plusieurs polices, ainsi que des détails de style et de poids. Pour plus d’informations, consultez la rubrique Polices des développeurs Android dans XML .

Polices téléchargeables

À compter d’Android Oreo, les applications peuvent demander des polices d’un fournisseur plutôt que de les regrouper dans l’APK. Les polices sont téléchargées à partir du réseau uniquement si nécessaire. Cette fonctionnalité réduit la taille de l’APK, en conservant la mémoire du téléphone et l’utilisation des données cellulaires. Vous pouvez également utiliser cette fonctionnalité sur les versions 14 et ultérieures de l’API Android en installant le package Android Support Library 26.

Lorsque votre application a besoin d’une police, vous créez un FontsRequest objet (en spécifiant la police à télécharger), puis passez-la à une FontsContract méthode pour télécharger la police. Les étapes suivantes décrivent le processus de téléchargement de police plus en détail :

  1. Instanciez un objet FontRequest .

  2. Sous-classe et instanciez FontsContract.FontRequestCallback.

  3. Implémentez la méthode FontRequestCallback.OnTypeFaceRetrieved , utilisée pour gérer l’achèvement de la requête de police.

  4. Implémentez la méthode FontRequestCallback.OnTypeFaceRequestFailed , utilisée pour informer votre application des erreurs qui se produisent pendant le processus de demande de police.

  5. Appelez la méthode FontsContract.RequestFonts pour récupérer la police à partir du fournisseur de polices.

Lorsque vous appelez la RequestFonts méthode, elle case activée d’abord pour voir si la police est mise en cache localement (d’un appel précédent à RequestFont). S’il n’est pas mis en cache, il appelle le fournisseur de polices, récupère la police de manière asynchrone, puis transmet les résultats à votre application en appelant votre OnTypeFaceRetrieved méthode.

Pour plus d’informations sur le téléchargement des polices, consultez la rubrique Des polices téléchargeables android.

Remplissage automatique

La nouvelle infrastructure de remplissage automatique dans Android Oreo facilite la gestion des tâches répétitives telles que la connexion, la création de compte et le crédit carte transactions. Les utilisateurs passent moins de temps à taper des informations (ce qui peut entraîner des erreurs d’entrée). Avant que votre application puisse utiliser l’infrastructure de remplissage automatique, un service de remplissage automatique doit être activé dans les paramètres système (les utilisateurs peuvent activer ou désactiver le remplissage automatique).

Pour plus d’informations sur la nouvelle fonctionnalité de remplissage automatique et sur la façon d’optimiser votre application pour le remplissage automatique, consultez la rubrique Android Developer Autofill Framework .

Image dans image (PIP)

Android Oreo permet à une activité de lancer en mode image-image (PIP), en superposant l’écran d’une autre activité. Cette fonctionnalité est destinée à la lecture vidéo.

Pour spécifier que l’activité de votre application peut utiliser le mode PIP, définissez l’indicateur suivant sur true dans le manifeste Android :

android:supportsPictureInPicture

Pour spécifier le comportement de votre activité en mode PIP, vous utilisez le nouvel objet PictureInPictureParams . PictureInPictureParams représente un ensemble de paramètres que vous utilisez pour initialiser et mettre à jour une activité en mode PIP (par exemple, le rapport d’aspect préféré de l’activité). Les nouvelles méthodes PIP suivantes ont été ajoutées dans Activity Android Oreo :

  • EnterPictureInPictureMode : place l’activité en mode PIP. L’activité est placée dans le coin de l’écran, et le reste de l’écran est rempli avec l’activité précédente qui était sur l’écran.

  • SetPictureInPictureParams : Mises à jour les paramètres de configuration PIP de l’activité (par exemple, un changement de ratio d’aspect).

Autres fonctionnalités

Android Oreo contient de nombreuses autres nouvelles fonctionnalités telles que la bibliothèque de prise en charge Emoji, l’API Emplacement, les limites d’arrière-plan, la couleur de large gamme pour les applications, les nouveaux codecs audio, les améliorations de WebView, la prise en charge de la navigation au clavier améliorée et une nouvelle API AAudio (audio pro) pour l’audio à faible latence hautes performances, pour plus d’informations sur ces fonctionnalités, consultez la rubrique Fonctionnalités et API Android Developer Android Oreo.

Modifications de comportement

Android Oreo inclut une variété de changements de comportement système et d’API qui peuvent avoir un impact sur les fonctionnalités des applications existantes. Ces modifications sont décrites comme suit.

Limites d’exécution en arrière-plan

Pour améliorer l’expérience utilisateur, Android Oreo impose des limitations sur ce que les applications peuvent faire lors de l’exécution en arrière-plan. Par exemple, si l’utilisateur regarde une vidéo ou joue à un jeu, une application s’exécutant en arrière-plan peut compromettre les performances d’une application gourmande en vidéo en cours d’exécution au premier plan. Par conséquent, Android Oreo place les restrictions suivantes sur les applications qui n’interagissent pas directement avec l’utilisateur :

  1. Limitations du service en arrière-plan : lorsqu’une application s’exécute en arrière-plan, elle a une fenêtre de plusieurs minutes dans laquelle elle est toujours autorisée à créer et utiliser des services. À la fin de cette fenêtre, Android arrête le service en arrière-plan de l’application et le traite comme étant inactif.

  2. Limitations de diffusion : Android 7.0 (API 25) a placé des limitations sur les diffusions qu’une application s’inscrit à recevoir. Android Oreo rend ces limitations plus strictes. Par exemple, les applications Android Oreo ne peuvent plus inscrire de récepteurs de diffusion pour les diffusions implicites dans leurs manifestes.

Pour plus d’informations sur les nouvelles limites d’exécution en arrière-plan, consultez la rubrique Limites d’exécution en arrière-plan des développeurs Android.

Dernières modifications

Les applications qui ciblent Android Oreo ou version ultérieure doivent modifier leurs applications pour prendre en charge les modifications suivantes, le cas échéant :

  • Android Oreo déprécie la possibilité de définir la priorité des notifications individuelles. Au lieu de cela, vous définissez un niveau d’importance recommandé lors de la création d’un canal de notification. Le niveau d’importance que vous affectez à un canal de notification s’applique à tous les messages de notification que vous publiez.

  • Pour les applications ciblant Android Oreo, PendingIntent.GetService() ne fonctionne pas en raison de nouvelles limites placées sur les services démarrés en arrière-plan. Si vous ciblez Android Oreo, vous devez utiliser PendingIntent.GetBroadcast à la place.

Vidéo

Développement Oreo Android 8.0 avec C#

Résumé

Cet article a présenté Android Oreo et expliqué comment installer et configurer les derniers outils et packages pour le développement Xamarin.Android sur Android Oreo. Il a fourni une vue d’ensemble des fonctionnalités clés disponibles dans Android Oreo, avec des liens vers des exemples de code source pour plusieurs nouvelles fonctionnalités. Il inclut des liens vers la documentation de l’API et les rubriques développeur Android pour vous aider à commencer à créer des applications pour Android Oreo. Il a également mis en évidence les changements de comportement Android Oreo les plus importants qui pourraient avoir un impact sur les applications existantes.