Contenu connexe Similaire à Développer une application pour Android TV avec Delphi (20) Développer une application pour Android TV avec Delphi3. Outils Embarcadero
Les meilleurs outils de développement multi-
plateformes. Créez une fois et déployez des
applications modernes sur chaque plateforme.
Support Technique
Nos techniciens sont à votre service à tout
moment pour répondre à vos questions et
vous fournir des informations sûres.
Distributeur Officiel
Partenaire exclusif de Embarcadero
Technologies, largement reconnu pour
ses produits de programmation primés.
B A R N S T E N
QUI
Site : https://www.barnsten.com – Contacts FR : equipe@barnsten.com
4. NOTRE
Société de prestations informatiques.
Edition de sites Internet, vidéos et livres.
Centre de formation référencé sur Datadock.
Infos et contacts : https://olfsoftware.fr
Formations en entreprise : https://se-former-a-delphi.fr
Formations en ligne : https://apprendre-delphi.fr
O L F S O F T W A R E
5. INTROD
Delphi et C++Builder permettent de faire du
développement à destination d’appareils sous
Android.
En plus des smartphones et tablettes nous
pouvons cibler des box TV ou directement des
téléviseurs. La plupart tournent en 32 bits et
peuvent ainsi être programmés depuis les 2
principaux langages de RAD Studio.
© Patrick Prémartin / developpeur-pascal.fr
6. INTROD
Dans cette session je vous propose de voir :
- Les boitiers TV et leur configuration
- La configuration de l’IDE (DX/CX/RX)
- Plusieurs projets sous Delphi
- La publication de vos applications
© Patrick Prémartin / developpeur-pascal.fr
7. PRISE
La présentation d’aujourd’hui change un peu :
elle est partiellement filmée !
Un peu obligé de sortir du confort du
partage d’écran lorsqu’on montre un
appareil ne permettant pas son
partage.
© Patrick Prémartin / developpeur-pascal.fr
8. APPAREILS
Branchés à mon téléviseur :
- Une clé Amazon FireTV
https://amzn.to/36au4Tr
- Une box TV sous Android
https://amzn.to/3j6buiO
Finalement pas de « vraie » box AndroidTV, mais
leur fonctionnement est sensiblement le même
que pour les deux autres.
© Patrick Prémartin / developpeur-pascal.fr
9. ALERTE
Méfiez-vous quand vous achetez des box TV ou
téléviseurs avec Android dans leur nom.
Les « box Android TV » ou « Android TV box »
sont généralement des boitiers qui tournent sous
Android…
Les « box AndroidTV » tournent sous AndroidTV !
© Patrick Prémartin / developpeur-pascal.fr
10. ALERTE
Pour les téléviseurs équipés d’Android c’est
généralement réellement du AndroidTV. Ils
affichent fièrement le logo « androidtv » sur leurs
publicités et sont référencés chez Google.
Par exemple https://amzn.to/3cDzibh
© Patrick Prémartin / developpeur-pascal.fr
11. ANDROID
Il y a 3 systèmes d’exploitation Android utilisés :
- celui d’Amazon à base AndroidTV
- Android TV de Google
- Android de Google avec un lanceur
d’applications adapté pour la télévision
La différence est importante dans le
fonctionnement et la diffusion des logiciels.
© Patrick Prémartin / developpeur-pascal.fr
12. AMAZON
Elle se présente sous forme de grosse clé USB
qu’on branche sur une prise HDMI.
La télécommande est sobre.
L’interface est basé sur des flux de contenus
présentés en catégories.
© Patrick Prémartin / developpeur-pascal.fr
14. DEMONS
Voyons :
- A quoi ressemble l’interface du FireTV
d’Amazon
- Comment configurer son mode développeur
- Paramétrer les options développeur
- Accéder à ses infos réseau
- Retrouver les applications
© Patrick Prémartin / developpeur-pascal.fr
15. Q+
La box Q Plus est une box Android avec une
interface télé comme interface utilisateur
principale.
Les applications qu’elle propose sont des
applications Android classiques. Le tout
fonctionne comme une tablette mais avec une
télécommande plutôt que du tactile.
© Patrick Prémartin / developpeur-pascal.fr
16. Q+
La télécommande fournie avec la box Q+ est plus
fournie que celle d’Amazon. Elle a en plus une
touche « mode souris ».
Et ce n’est pas la pire télécommande qu’on puisse
voir sur une box Android…
© Patrick Prémartin / developpeur-pascal.fr
18. DEMONS
Voyons :
- A quoi ressemble l’interface de Q Plus
- Comment configurer son mode développeur
- Paramétrer les options développeur
- Accéder à ses infos réseau
- Retrouver les applications
© Patrick Prémartin / developpeur-pascal.fr
19. CONFIGURER
Du côté de notre environnement de travail, la
configuration est la même que pour un
smartphone ou une tablette sous Android.
On doit avoir le Android SDK/NDK et Java installés
et configurés dans les options de l’IDE.
© Patrick Prémartin / developpeur-pascal.fr
20. CONFIGURER
On doit utiliser le programme adb.exe pour
déclarer les box afin de les rendre visibles pour
l’IDE.
Une fois fait, on programme comme d’habitude…
ou presque !
© Patrick Prémartin / developpeur-pascal.fr
21. DEMONS
- Trouver adb.exe
- Lister les appareils connectés
- Ajouter des appareils Android du réseau local
© Patrick Prémartin / developpeur-pascal.fr
22. COTE
Avant d’aller dans le détail de la programmation,
commençons par un simple test : un Hello world
qui affiche du texte et la taille de l’écran.
C’est de la programmation Android.
Le débogueur est opérationnel mais pas rapide
(Android, WIFI, processeurs « pas glop »).
© Patrick Prémartin / developpeur-pascal.fr
23. DEMONS
Programme Hello World :
- Côté Delphi
- Sur la FireTV
- Sur la Q Plus
Sources sur
https://github.com/DeveloppeurPascal/Developp
erUneApplicationPourAndroidTVAvecDelphi
© Patrick Prémartin / developpeur-pascal.fr
24. COTE
On a accès aux librairies standard moyennant des
ajustements : pas de capteurs, pas de GPS, pas de
webcam, pas de tactile, pas de changement
d’orientation, pas de curseur de souris à déplacer,
généralement pas de clavier, rarement du
stockage additionnel.
On doit gérer les permissions comme d’habitude.
© Patrick Prémartin / developpeur-pascal.fr
25. INTERFACE
Notre périphérique d’entrée est une
télécommande, un clavier ou une manette de jeu.
On reste sur la télécommande pour aujourd’hui.
Le minimum vital à gérer : haut, bas, gauche,
droite, la sélection, le retour, le menu.
© Patrick Prémartin / developpeur-pascal.fr
26. INTERFACE
Certaines touches sont interceptées par le
système (selon le type d’Android), les autres sont
envoyées comme des touches de clavier classique
et d’autres encore sont « mortes ».
onKeyDown de la fiche nous fournit les touches
de clavier, onKeyUp nous fournit les touches de
clavier et les touches « mortes ».
© Patrick Prémartin / developpeur-pascal.fr
27. DEMONS
Programme Scan Code :
- Côté Delphi
- Sur la FireTV
- Sur la Q Plus
Sources sur
https://github.com/DeveloppeurPascal/Developp
erUneApplicationPourAndroidTVAvecDelphi
© Patrick Prémartin / developpeur-pascal.fr
28. INTERFACE
N’ayant pas de touche ENTREE on oublie les
événements onClick.
N’ayant pas de touche TAB on oublie les TabOrder
et la gestion automatisée des changements de
focus.
© Patrick Prémartin / developpeur-pascal.fr
29. INTERFACE
C’est à nous de gérer les mouvements,
changements de focus et l’activation des
différents composants.
On n’a pas non plus de fenêtres modales (puisque
c’est Android) ni de boites de dialogue standard
puisqu’on ne peut gérer leurs boutons.
© Patrick Prémartin / developpeur-pascal.fr
30. INTERFACE
Et dernière contrainte d’importance : nous
devons gérer la touche « BACK » des
télécommandes qui doit permettre de revenir à
l’étape ou l’écran précédent jusqu’à sortir de
l’application.
© Patrick Prémartin / developpeur-pascal.fr
32. COTE
L’utilisation de la saisie vocale, des manettes de
jeux, d’autres périphériques d’entrée et des
touches « mortes », comme l’intégration au
catalogue de vidéos ou contenus affichés sur les
pages de l’appareil dépendent d’API dédiées à la
plateforme.
Tout le reste est faisable sans difficulté y compris
les accès web pour des API REST & co.
© Patrick Prémartin / developpeur-pascal.fr
33. COTE
Histoire d’être complet côté technique, il y a un
fichier à personnaliser pour que ça se passe
globalement bien : le manifest du projet.
Sans ça, selon l’appareil et surtout si vous décidez
de déployer votre projet sur les différents
magasins d’applications, la vôtre ne passera pas.
© Patrick Prémartin / developpeur-pascal.fr
34. COTE
Je détaillerai les modifications sur le blog car il est
probable qu’elles évoluent dans le temps.
Rendez-vous sur https://developpeur-
pascal.fr/p/_22003-webinaire-du-29-septembre-
2020-developper-une-application-pour-android-
tv-avec-delphi.html pour être à jour.
© Patrick Prémartin / developpeur-pascal.fr
35. DEMONS
- Modifier le manifest des projets
- Informations importantes à ajouter
© Patrick Prémartin / developpeur-pascal.fr
36. PUBLIER
Pour la diffusion d’une application FireTV, la
destination est toute trouvée : la console
développeur d’Amazon.
https://developer.amazon.com/dashboard
A mon avis le site le plus clair et facile à utiliser
pour soumettre un logiciel à la diffusion.
© Patrick Prémartin / developpeur-pascal.fr
37. PUBLIER
Outre une multitude de visuels, comme partout,
Amazon se contentera d’un APK signé de 32 bits.
A générer en RELEASE et avec un certificat de
signature dans les options de votre projet.
© Patrick Prémartin / developpeur-pascal.fr
38. PUBLIER
Pour la diffusion d’une application AndroidTV, la
destination est toute trouvée aussi : la console
développeur de Google.
https://play.google.com/console/developers
A mon avis, l’ancienne comme la nouvelle sont à
l’image de Google et sa multitude de service : pas
ergonomique, pas facile d’accès et bordélique.
© Patrick Prémartin / developpeur-pascal.fr
39. PUBLIER
Google ne fait pas de distinction entre
applications pour smartphones, tablettes ou
AndroidTV. Il demande donc des APK de 64 bits
ou des bundles 32/64 bits.
Le ciblage des AndroidTV se fait en activant
l’option dans les paramètres du projet sur leur
console développeur.
© Patrick Prémartin / developpeur-pascal.fr
40. PUBLIER
Pour la diffusion d’une application Android à
destination des box TV, c’est un peu du pifomètre.
Bien entendu vous vous devez de diffuser sur
Google Play pour toucher un maximum d’appareil
(incluant smartphones et des tablettes).
Certains fabricants ont aussi leur propre magasin
d’application. A voir en fonction de vos besoins.
© Patrick Prémartin / developpeur-pascal.fr
41. PUBLIER
Selon les magasins d’applications alternatifs, une
version 32 bits suffira, une version 64 bits ou les
deux seront demandées.
Idem pour les visuels qui ne sont pas au même
format partout. Gardez votre infographiste à
portée de main lorsque vous publiez pour ne pas
être coincés.
© Patrick Prémartin / developpeur-pascal.fr
43. CONCL
© Patrick Prémartin / developpeur-pascal.fr
Le chemin vers des applications évoluées (vidéos,
jeux, inApp, …) est encore long, mais nous avons
vu ensemble tout ce qu’il vous faut pour
démarrer et mettre en ligne vos premiers projets.
N’oubliez pas de les partager avec nous si vous les
publiez sur les magasins d’application.
44. CONCL
© Patrick Prémartin / developpeur-pascal.fr
Je complèterai l’article du blog lié à cette
présentation lorsque j’aurai des éléments
complémentaires (gestion des touches
« mortes », manettes de jeux, …).
Ce projet accueillera mes trouvailles et plus :
https://github.com/DeveloppeurPascal/androidtv
-delphi
45. CONCL
© Patrick Prémartin / developpeur-pascal.fr
La rediffusion de ce webinaire devrait être
disponible sur la chaîne YouTube de Barnsten :
https://www.youtube.com/c/BarnstenFrance/vid
eos
46. CONCL
© Patrick Prémartin / developpeur-pascal.fr
Pour des ressources complémentaires,
télécharger cette présentation et accéder aux
exemples, rendez-vous sur :
https://developpeur-pascal.fr/p/_22003-
webinaire-du-29-septembre-2020-developper-
une-application-pour-android-tv-avec-delphi.html
47. PROCHAINS
© Patrick Prémartin / developpeur-pascal.fr
Prochains webinaires :
- 27 octobre 2020 : Delphi et les tests unitaires
- 24 novembre et 29 décembre
Rediffusions, détails et inscriptions depuis
https://developpeur-pascal.fr/p/_6007-
webinaires.html