SlideShare une entreprise Scribd logo
Développer une
application Android
TV avec Delphi
Webinaire du 29 septembre 2020
PRÉSENTATEUR
MVP Embarcadero
Prestataire informatique freelance et formateur Delphi
CV et contacts :
https://www.linkedin.com/in/patrickpremartin/
Blog Delphi/Pascal :
https://developpeur-pascal.fr
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
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
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
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
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
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
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
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
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
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
AMAZON
Plusieurs modèles existent. Deux télécommandes
sont disponibles à ce jour selon l’appareil.
© Patrick Prémartin / developpeur-pascal.fr
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
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
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
EXEMPLES
© Patrick Prémartin / developpeur-pascal.fr
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
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
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
DEMONS
- Trouver adb.exe
- Lister les appareils connectés
- Ajouter des appareils Android du réseau local
© Patrick Prémartin / developpeur-pascal.fr
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
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
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
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
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
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
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
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
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
DEMONS
Programme Navigation :
- Côté Delphi
- Sur la FireTV
- Sur la Q Plus
© Patrick Prémartin / developpeur-pascal.fr
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
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
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
DEMONS
- Modifier le manifest des projets
- Informations importantes à ajouter
© Patrick Prémartin / developpeur-pascal.fr
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
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
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
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
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
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
QUESTIONS
© Patrick Prémartin / developpeur-pascal.fr
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.
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
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
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
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
CONTACTEZ NOUS

Contenu connexe

Similaire à Développer une application pour Android TV avec Delphi

Utiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéoUtiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéo
pprem
 
Apache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéroApache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéro
Alexandre Pereira
 
Utiliser des dessins vectoriels à la place d'images
Utiliser des dessins vectoriels à la place d'imagesUtiliser des dessins vectoriels à la place d'images
Utiliser des dessins vectoriels à la place d'images
pprem
 
Déploiement et débogage à distance
Déploiement et débogage à distanceDéploiement et débogage à distance
Déploiement et débogage à distance
pprem
 
Développer des applications pour la TV
Développer des applications pour la TVDévelopper des applications pour la TV
Développer des applications pour la TV
Mickaël GREGORI
 
Cours cordova & REST
Cours cordova & RESTCours cordova & REST
Cours cordova & REST
Christophe Zome
 
Créer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composantCréer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composant
pprem
 
PDF : Vidéo à 1€ vs 100.000€ : On décortique le process de création vidéo pou...
PDF : Vidéo à 1€ vs 100.000€ : On décortique le process de création vidéo pou...PDF : Vidéo à 1€ vs 100.000€ : On décortique le process de création vidéo pou...
PDF : Vidéo à 1€ vs 100.000€ : On décortique le process de création vidéo pou...
Julien Dereumaux
 
Comment développer pour Linux avec Delphi
Comment développer pour Linux avec DelphiComment développer pour Linux avec Delphi
Comment développer pour Linux avec Delphi
pprem
 
Découvrez FireDAC pour FMX
Découvrez FireDAC pour FMXDécouvrez FireDAC pour FMX
Découvrez FireDAC pour FMX
pprem
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
pprem
 
Boite à outil du formateur sur SpeachMe Academy
Boite à outil du formateur sur SpeachMe AcademyBoite à outil du formateur sur SpeachMe Academy
Boite à outil du formateur sur SpeachMe Academy
Geoffrey SpeachMe
 
Nouveautés de App-V 5.0 et intégration avec System Center 2012
Nouveautés de App-V 5.0 et intégration avec System Center 2012Nouveautés de App-V 5.0 et intégration avec System Center 2012
Nouveautés de App-V 5.0 et intégration avec System Center 2012
Microsoft Technet France
 
Un site de collectivité sur WordPress ? Méthodes et retours d'XP
Un site de collectivité sur WordPress ? Méthodes et retours d'XPUn site de collectivité sur WordPress ? Méthodes et retours d'XP
Un site de collectivité sur WordPress ? Méthodes et retours d'XP
atelier111
 
Avantages clé des solutions vidéo empreinte.com
Avantages clé des solutions vidéo empreinte.comAvantages clé des solutions vidéo empreinte.com
Avantages clé des solutions vidéo empreinte.com
Empreinte Multimédia
 
UX Republic UX-Radar - juin 2018
UX Republic UX-Radar - juin 2018 UX Republic UX-Radar - juin 2018
UX Republic UX-Radar - juin 2018
romain landsberg
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6
Microsoft
 
Cahier spécial visual studio 2015 - Octobre 2015
Cahier spécial visual studio 2015 - Octobre 2015Cahier spécial visual studio 2015 - Octobre 2015
Cahier spécial visual studio 2015 - Octobre 2015
FactoVia
 
Actionscript: du web au mobile
Actionscript: du web au mobileActionscript: du web au mobile
Actionscript: du web au mobile
Martin Arvisais
 

Similaire à Développer une application pour Android TV avec Delphi (20)

Utiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéoUtiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéo
 
Apache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéroApache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéro
 
Utiliser des dessins vectoriels à la place d'images
Utiliser des dessins vectoriels à la place d'imagesUtiliser des dessins vectoriels à la place d'images
Utiliser des dessins vectoriels à la place d'images
 
Déploiement et débogage à distance
Déploiement et débogage à distanceDéploiement et débogage à distance
Déploiement et débogage à distance
 
Développer des applications pour la TV
Développer des applications pour la TVDévelopper des applications pour la TV
Développer des applications pour la TV
 
Cours cordova & REST
Cours cordova & RESTCours cordova & REST
Cours cordova & REST
 
Créer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composantCréer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composant
 
PDF : Vidéo à 1€ vs 100.000€ : On décortique le process de création vidéo pou...
PDF : Vidéo à 1€ vs 100.000€ : On décortique le process de création vidéo pou...PDF : Vidéo à 1€ vs 100.000€ : On décortique le process de création vidéo pou...
PDF : Vidéo à 1€ vs 100.000€ : On décortique le process de création vidéo pou...
 
Comment développer pour Linux avec Delphi
Comment développer pour Linux avec DelphiComment développer pour Linux avec Delphi
Comment développer pour Linux avec Delphi
 
Découvrez FireDAC pour FMX
Découvrez FireDAC pour FMXDécouvrez FireDAC pour FMX
Découvrez FireDAC pour FMX
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
 
Boite à outil du formateur sur SpeachMe Academy
Boite à outil du formateur sur SpeachMe AcademyBoite à outil du formateur sur SpeachMe Academy
Boite à outil du formateur sur SpeachMe Academy
 
Nouveautés de App-V 5.0 et intégration avec System Center 2012
Nouveautés de App-V 5.0 et intégration avec System Center 2012Nouveautés de App-V 5.0 et intégration avec System Center 2012
Nouveautés de App-V 5.0 et intégration avec System Center 2012
 
Un site de collectivité sur WordPress ? Méthodes et retours d'XP
Un site de collectivité sur WordPress ? Méthodes et retours d'XPUn site de collectivité sur WordPress ? Méthodes et retours d'XP
Un site de collectivité sur WordPress ? Méthodes et retours d'XP
 
Avantages clé des solutions vidéo empreinte.com
Avantages clé des solutions vidéo empreinte.comAvantages clé des solutions vidéo empreinte.com
Avantages clé des solutions vidéo empreinte.com
 
UX Republic UX-Radar - juin 2018
UX Republic UX-Radar - juin 2018 UX Republic UX-Radar - juin 2018
UX Republic UX-Radar - juin 2018
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6
 
Cahier spécial visual studio 2015 - Octobre 2015
Cahier spécial visual studio 2015 - Octobre 2015Cahier spécial visual studio 2015 - Octobre 2015
Cahier spécial visual studio 2015 - Octobre 2015
 
NAGRA_WhitePaper_OPTV5_FR_Aout2015
NAGRA_WhitePaper_OPTV5_FR_Aout2015NAGRA_WhitePaper_OPTV5_FR_Aout2015
NAGRA_WhitePaper_OPTV5_FR_Aout2015
 
Actionscript: du web au mobile
Actionscript: du web au mobileActionscript: du web au mobile
Actionscript: du web au mobile
 

Plus de pprem

Using FireMonkey as a game engine
Using FireMonkey as a game engineUsing FireMonkey as a game engine
Using FireMonkey as a game engine
pprem
 
Using Delphi as a no code development environment
Using Delphi as a no code development environmentUsing Delphi as a no code development environment
Using Delphi as a no code development environment
pprem
 
Easy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkeyEasy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkey
pprem
 
Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?
pprem
 
Embarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobilesEmbarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobiles
pprem
 
Faire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCLFaire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCL
pprem
 
Faire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkeyFaire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkey
pprem
 
QR codes et codes à barres sous Delphi
QR codes et codes à barres sous DelphiQR codes et codes à barres sous Delphi
QR codes et codes à barres sous Delphi
pprem
 
Des solutions de synchronisation de données
Des solutions de synchronisation de donnéesDes solutions de synchronisation de données
Des solutions de synchronisation de données
pprem
 
Découvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCLDécouvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCL
pprem
 
POC Notes de frais
POC Notes de fraisPOC Notes de frais
POC Notes de frais
pprem
 
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
pprem
 
Comment écrire des articles de blog à succès
Comment écrire des articles de blog à succèsComment écrire des articles de blog à succès
Comment écrire des articles de blog à succès
pprem
 
Gagner de l'argent sur Internet
Gagner de l'argent sur InternetGagner de l'argent sur Internet
Gagner de l'argent sur Internet
pprem
 
Trafic
TraficTrafic
Traficpprem
 

Plus de pprem (15)

Using FireMonkey as a game engine
Using FireMonkey as a game engineUsing FireMonkey as a game engine
Using FireMonkey as a game engine
 
Using Delphi as a no code development environment
Using Delphi as a no code development environmentUsing Delphi as a no code development environment
Using Delphi as a no code development environment
 
Easy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkeyEasy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkey
 
Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?
 
Embarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobilesEmbarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobiles
 
Faire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCLFaire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCL
 
Faire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkeyFaire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkey
 
QR codes et codes à barres sous Delphi
QR codes et codes à barres sous DelphiQR codes et codes à barres sous Delphi
QR codes et codes à barres sous Delphi
 
Des solutions de synchronisation de données
Des solutions de synchronisation de donnéesDes solutions de synchronisation de données
Des solutions de synchronisation de données
 
Découvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCLDécouvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCL
 
POC Notes de frais
POC Notes de fraisPOC Notes de frais
POC Notes de frais
 
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
 
Comment écrire des articles de blog à succès
Comment écrire des articles de blog à succèsComment écrire des articles de blog à succès
Comment écrire des articles de blog à succès
 
Gagner de l'argent sur Internet
Gagner de l'argent sur InternetGagner de l'argent sur Internet
Gagner de l'argent sur Internet
 
Trafic
TraficTrafic
Trafic
 

Développer une application pour Android TV avec Delphi

  • 1. Développer une application Android TV avec Delphi Webinaire du 29 septembre 2020
  • 2. PRÉSENTATEUR MVP Embarcadero Prestataire informatique freelance et formateur Delphi CV et contacts : https://www.linkedin.com/in/patrickpremartin/ Blog Delphi/Pascal : https://developpeur-pascal.fr
  • 3. 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
  • 13. AMAZON Plusieurs modèles existent. Deux télécommandes sont disponibles à ce jour selon l’appareil. © 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
  • 17. EXEMPLES © 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
  • 31. DEMONS Programme Navigation : - Côté Delphi - Sur la FireTV - Sur la Q Plus © 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
  • 42. QUESTIONS © 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