Une introduction à Android TV

Voulez-vous mieux comprendre Android TV? Vous souhaitez peut-être étendre vos projets Android existants pour prendre en charge cette nouvelle plate-forme, ou peut-être avez-vous une idée pour une application Android TV que vous souhaitez développer.

Quelle que soit votre motivation, cet article vous présentera la plateforme Android TV, à partir de quoi Android TV est et les caractéristiques d'une application télévisée efficace, jusqu'à la création et au test de votre propre exemple de projet Android TV.

1. Qu'est-ce qu'Android TV??

Annoncé lors de Google IO 2014, Android TV est la nouvelle plate-forme smart TV de Google. Les utilisateurs peuvent soit acheter un téléviseur avec la nouvelle plate-forme intégrée, soit ajouter Android TV à leur téléviseur existant en achetant un décodeur autonome, tel que le Nexus Player..

Sur Android TV, les applications et les fonctionnalités dont bénéficient déjà les utilisateurs d’appareils Android plus petits sont présentées sur grand écran. Les utilisateurs peuvent télécharger des applications Android TV depuis le Google Play Store bien connu, et la plate-forme prend en charge Google Cast. Les utilisateurs peuvent ainsi diffuser du contenu depuis leur smartphone ou leur tablette sur leur appareil Android TV..

2. Concevoir pour Android TV

Si vous avez de l'expérience dans le développement de smartphones ou de tablettes Android, Android TV vous semblera immédiatement familier, mais vous devez être conscient de certaines différences cruciales. Cette section présente les meilleures pratiques propres à Android TV..

Offrir une expérience de «10 pieds» efficace

Selon la documentation officielle d'Android TV, le téléspectateur moyen se trouve à une dizaine de mètres de son écran. Par conséquent, tout le contenu à l'écran doit être clairement visible à une distance de 10 pieds..

Une astuce pour offrir une expérience efficace de «10 pieds» consiste à concevoir une interface utilisateur qui se redimensionne automatiquement, en fonction de la taille de l'écran du téléviseur. Cela signifie utiliser un dimensionnement relatif à la mise en page, tel que fill_parent, plutôt que le dimensionnement absolu et opter pour des unités de pixels indépendantes de la densité plutôt que des unités de pixels absolues.

Vous devez également minimiser le texte car il est de plus en plus difficile de lire le texte à distance. Autant que possible, vous devez communiquer avec vos utilisateurs via d'autres méthodes, telles que la voix off, les effets sonores, la vidéo et les images..

Si vous avez besoin d'inclure du texte, rendez-le plus facile à lire en:

  • éviter les polices légères
  • éviter les polices qui ont des traits très étroits ou très larges
  • utiliser du texte clair sur des fonds sombres
  • briser le texte en petits morceaux

Minimiser et simplifier l'interaction

Pensez à la façon dont vous interagissez avec votre téléviseur. Vous effectuez généralement quelques interactions simples pour obtenir le contenu souhaité, qu'il s'agisse de changer de chaîne, de démarrer le lecteur de DVD ou de lancer votre application de diffusion de contenu préférée..

Vous ne pas s'attendre à devoir effectuer des interactions compliquées, tout comme les utilisateurs d'Android TV. Si vous souhaitez retenir l'attention de l'utilisateur, votre application doit disposer du moins d'écrans possible entre le point d'entrée de l'application et l'immersion du contenu..

Même une fois que l'utilisateur est immergé dans votre application, limitez au minimum les interactions et évitez les interactions compliquées, car votre utilisateur de téléviseur typique dispose de commandes limitées - généralement une télécommande, un contrôleur de jeu ou l'application officielle Android TV. installé sur leur smartphone ou tablette.

Navigation facile

Les commandes de télévision ont tendance à se limiter à un pavé directionnel et à un bouton de sélection. Votre défi consiste donc à créer un schéma de navigation efficace pour votre application à l'aide de ces commandes limitées..

Une astuce consiste à utiliser un groupe de vues (tel que la vue Liste ou la vue Grille) qui organise automatiquement les éléments de l'interface utilisateur de votre application en listes ou grilles, faciles à naviguer avec un pavé directionnel et un bouton de sélection..

Vos utilisateurs devraient également pouvoir savoir en un coup d’œil quel objet est actuellement sélectionné. Vous pouvez mettre en évidence l'objet actuellement sélectionné à l'aide d'indices visuels, tels que la taille, l'ombre, la luminosité, l'animation et l'opacité..

Simple et épuré

Android TV peut vous donner plus d’espace sur votre écran, mais ne vous laissez pas emporter par l’esprit et tentez de remplir chaque centimètre carré. Une interface utilisateur simple et épurée est non seulement plus attrayante sur le plan visuel, mais elle facilite également la navigation, ce qui est particulièrement important compte tenu des contrôles limités disponibles pour votre utilisateur de télévision Android typique..

Une interface utilisateur contenant quelques gros éléments d'interface utilisateur audacieux offrira également une meilleure "expérience de jeu" qu'un écran rempli de nombreux éléments d'interface utilisateur plus petits..

Mode paysage de soutien

Toutes les activités de votre projet doivent prendre en charge l'orientation paysage ou votre application n'apparaîtra pas aux utilisateurs d'Android TV sur Google Play Store..

Si vous développez une application compatible avec les smartphones et les tablettes, sachez que si votre projet contient android: screenOrientation = "portrait" la android.hardware.screen.portrait exigence est implicitement définie sur vrai. Vous devez spécifier que, même si votre application prend en charge l'orientation portrait lorsqu'elle est disponible, elle peut s'exécuter sur des appareils où le mode Portrait n'est pas pris en charge (c'est-à-dire Android TV):

Autoriser le surbalayage

Pour vous assurer qu'il n'y a jamais d'espace vide sur les bords de votre écran, les téléviseurs peuvent découper les bords du contenu au cours d'un processus appelé surbalayage. Puisque vous ne voulez pas perdre de contenu important à survoler, vous devez laisser une marge libre de tout élément de l'interface utilisateur sur les bords de votre application..

La bibliothèque v17 Leanback applique automatiquement les marges de surbalayage à votre application. Vous pouvez également créer vos propres marges de surbalayage en laissant 10% d'espace vide autour des bords de votre application. Cela se traduit par une marge de 48dp autour des bords gauche et droit (android: layout_marginRight = "48dp") et 27dp en haut et en bas (android: layout_marginBottom = "27dp").

Conception pour les limitations matérielles d'Android TV

Les téléviseurs Android ne disposent pas de nombreuses fonctionnalités matérielles généralement disponibles pour les autres appareils fonctionnant sous Android. Lorsque vous développez pour la plate-forme Android TV, vous ne pouvez pas utiliser les éléments suivants:

  • Communication en champ proche (NFC)
  • GPS
  • Caméra
  • Microphone
  • Écran tactile
  • Téléphonie

Si vous souhaitez que votre application fonctionne sur des périphériques autres que la télévision, tels que les smartphones et les tablettes, vous pouvez spécifier que même si votre application ne nécessite pas ces fonctionnalités matérielles, elle les utilisera lorsqu'elles sont disponibles, par exemple:

Sachez également que les déclarations de manifeste uses-permission suivantes impliquent des fonctionnalités matérielles non prises en charge par Android TV:

  • ENREGISTREMENT AUDIO
  • CAMÉRA
  • ACCESS_COARSE_LOCATION
  • ACCESS_FINE_LOCATION

3. Création d'un exemple de projet Android TV

Dans la dernière partie de ce didacticiel, nous examinerons de près un code prêt pour la télévision en créant et en testant un projet de télévision Android de base..

Avant de pouvoir développer quoi que ce soit pour la plate-forme Android TV, assurez-vous d'avoir mis à jour votre SDK vers Android 5.0 (API 21) ou une version ultérieure, ainsi que vos outils de SDK vers la version 24.0.0 ou une version ultérieure..

Une fois que vous êtes à jour, il est temps de créer votre application:

  1. Lancer Android Studio.
  2. Sélectionner Démarrer un nouveau projet Android Studio.
  3. Donnez à votre projet un nom et un domaine. Cliquez sur Suivant.
  4. Sélectionner la télé, puis décochez toutes les autres cases. Bien que vous puissiez créer des projets Android TV comportant un module smartphone, tablette et / ou Android Wear, nous allons créer un projet à module unique pour des raisons de simplicité. Cliquez sur Suivant.

5. Sélectionnez Activité Android TV et cliquez Suivant.

6. Respectez les paramètres par défaut et cliquez sur terminer.

Android Studio créera alors votre projet.


4. Briser le manifeste

Maintenant que vous avez créé votre exemple de projet, nous allons examiner le manifeste Android ligne par ligne, car ce fichier contient de nombreux codes spécifiques à la télévision..

Notez que bien que la majorité de ce code soit générée automatiquement lorsque vous créez un projet Android TV, j'ai apporté quelques ajouts et ajustements mineurs qui sont tous clairement indiqués dans le texte..

 http://schemas.android.com/apk/res/android "package =" com.example.jessica.tvdemo ">  

Comme déjà mentionné, le android.permission.RECORD_AUDIO la permission implique que votre application nécessite android.hardware.microphone. Ainsi, cette ligne de code empêche efficacement l’installation de votre application sur des appareils n’ayant pas accès à un microphone. Si votre application peut fonctionner sans microphone, vous devez ajouter ce qui suit:

L'ajout du code ci-dessus signifie que les utilisateurs peuvent installer votre application sur des périphériques n'ayant pas accès au matériel du microphone..

Bien que la plupart des appareils fonctionnant sous Android prennent en charge les écrans tactiles, ce n'est pas le cas avec Android TV. Votre application Android TV doit déclarer que ce n'est pas le cas. exiger support de l'écran tactile.

 

L'extrait ci-dessus indique que votre application utilise l'interface Leanback décrite précédemment..

android: required = "true" />

Si vous souhaitez que votre application soit exécutée sur des périphériques autres que la télévision où Leanback n'est pas pris en charge, vous devez modifier la ligne ci-dessus en android: required = "false".

L'ajout ci-dessus applique le thème Leanback à votre projet.

android: banner = "@ drawable / banner"> 

Les bannières d'applications représentent votre application sur l'écran d'accueil d'Android TV et indiquent comment l'utilisateur lance votre application. La bannière de votre application doit être une image xhdpi de 320 x 180 pixels et inclure du texte..

Si vous souhaitez utiliser la même bannière pour toutes vos activités, vous devez ajouter le Android: bannière attribuer à votre manifeste tag comme je l'ai fait ici. Si vous souhaitez créer une bannière différente pour chaque activité, vous devez ajouter un Android: bannière attribuer à toutes vos applications  balises à la place.

    

Ce fragment de code déclare une activité de lancement pour la télévision..

       

5. Test de l'exemple d'application

L'étape suivante consiste à tester le fonctionnement de votre application du point de vue de l'utilisateur. Même si vous avez accès à une télévision Android physique, vous aurez envie de tester votre projet sur plusieurs appareils. Vous devez donc toujours créer au moins un AVD Android TV..

Pour créer votre AVD:

  1. Lancez le gestionnaire AVD en cliquant sur le bouton Gestionnaire AVD bouton dans la barre d’outils ou en sélectionnant Outils > Android > Gestionnaire AVD.
  2. Cliquez sur Créer un nouveau périphérique virtuel.
  3. Sélectionnez le la télé Catégorie.
  4. Choisissez l'un des périphériques Android TV répertoriés et cliquez sur Suivant.
  5. Sélectionnez votre image système et cliquez sur Suivant.
  6. Nommez votre AVD et cliquez terminer.

Pour tester votre exemple de projet, sélectionnez Courir > Lancer l'application, suivi de votre TV AVD. Une fois le chargement du fichier AVD terminé, l'interface utilisateur d'Android TV et la bannière de votre application s'affichent dans le coin inférieur gauche..


Pour lancer votre application, cliquez sur l'image de la bannière. Après un court délai, votre application apparaîtra dans la fenêtre AVD.


6. Plus à explorer

Cet article vous a donné une introduction à Android TV et vous a montré comment créer un exemple d'application. Si vous souhaitez explorer davantage la plate-forme Android TV, vous pouvez continuer à développer votre exemple d'application en consultant les zones suivantes:

  • ParcourirFragment. Dans l'exemple d'application, chaque ligne de contenu correspond à une catégorie. Cette partie de l'interface utilisateur est créée avec le ParcourirFragment classe. Pour en savoir plus sur ce fragment, consultez la section Création d'un navigateur de catalogue des documents officiels Android TV..
  • DétailsFragment. Cliquez sur n'importe quel contenu pour voir plus d'informations sur ce contenu. Pour étendre cette fonctionnalité, jetez un coup d’œil à la DétailsFragment classe dans Construction d'une vue de détails.


  • RechercherFragment. Malgré l'icône de recherche située dans le coin supérieur gauche de l'application, la fonction de recherche ne fonctionne pas dans votre exemple d'application. Pour que cela fonctionne, vous devez jeter un coup d'œil à la RechercherFragment classe, sur laquelle vous pouvez également trouver plus d’informations dans la documentation Android TV.

Conclusion

Vous devriez maintenant avoir une meilleure compréhension de ce que le développement pour Android TV implique. Il y a quelques mises en garde à prendre en compte, mais développer pour Android TV ne devrait pas être trop difficile si vous avez déjà de l'expérience en développement pour Android.