Je suis avant tout un développeur depuis 2007 et suis indépendant depuis 2016.
-
Dans le CA du Toulouse JUG
-
GDG Toulouse
-
Software Craftsmanship
-
Speaker régulier (Devoxx France, EclipseCon)
-
Organisateur du DevFest Toulouse
Mission Android en cours chez Renault
-
Contact : vincent.ferries@gmail.com
-
Supports de cours : vferries.github.com/iut-android (en cours de mise à jour)
Note
|
Documentation
LA référence : http://d.android.com
|
-
30 heures de cours au total
-
Mélange de cours, TD et TP
-
Un projet de fin
-
Les modalités de notation sont en cours de discussion
-
-
Découvrir les fondamentaux d’Android
-
Avoir les bases pour un stage ou emploi
-
Culture pour des entretiens d’embauche
-
Aiguiser un peu votre curiosité
-
Discuter de ce que c’est qu’être un développeur de nos jours
Du coup, n’hésitez pas si vous avez la moindre question.
Si je n’ai pas la réponse, vous l’aurez au cours suivant.
Caution
|
Le téléchargement peut être long, autant le lancer avant qu’on continue vraiment. |
Téléchargez Android Studio sur https://developer.android.com/studio/
Assurez vous d’avoir aussi un client git.
-
Plus de 85% des parts de marché
-
Basé sur Java (que vous connaissez) ou Kotlin et pas ObjectiveC ou Swift (que vous connaissez moins)
-
Des tonnes de patrons de conception
-
Performances bien meilleures sur du natif, mais…
-
Unity
-
React Native
-
Kotlin Native
-
Flutter
-
-
Notifications, offline-first
-
Service Workers
-
Push Notifications
-
-
Plus adapté aux différents usages (position des actions)
-
Plus long de développer pour chaque plateforme
-
Tentative de copie du desktop
-
Interfaces peu intuitives
-
Pas assez grand public
-
2007, sortie de l’iPhone et d’iOS
-
Tactile
-
Grand écran
-
Prépare le terrain pour les apps Vidéo de la présentation
-
-
Android
-
BlackBerry OS 10
-
Windows Phone
-
WebOS, Tizen, Bada, Firefox OS (stopped), Ubuntu Mobile (community)…
-
KaiOS
-
Côté hardware:
-
Taille écran
-
Puissance
-
-
Capteurs
-
GPS
-
accéléromètre
-
luxmètre
-
-
Usages
-
téléphoner
-
tout le reste
-
-
Android est une réaction à l’iPhone ? Non, la startup Android a été rachetée par Google en 2005, soit deux ans avant la sortie de l’iPhone
-
Android == Google ? Non, Android est Open Source, mais…
-
Constructeurs
-
Samsung, HTC, LG, Motorola, ZTE…
-
-
Opérateurs
-
SFR, Bouygues Telecom, Verizon, T-Mobile, China Mobile
-
-
Fondeurs
-
Intel, Nvidia, ARM, Broadcom
-
-
Editeurs
-
Ebay, Google, PacketVideo
-
-
Android Open Source Project
-
Petite guerre sur les forks du projet Open Source
-
Google maintient de moins en moins les versions Open Source
-
Ils sortent de plus en plus de fonctionnalités en Closed Source.
-
Depuis 2010
-
Premiers essais par Samsung ⇒ Flop
-
Premier succès ⇒ iPad
-
-
Les tablettes Android
-
Premières tablettes Android ⇒ Flop
-
Génération ICS ⇒ Succès
-
-
Ipad
-
Succès
-
Version HD dans un second temps
-
-
PlayBook
-
Succès très mitigé
-
-
SDK Tools
-
Platform Tools
-
Build-tools
-
La dernière version (API28) du SDK Platform et la documentation associée
-
17 aout 2005
-
Google rachète la société Android Inc.
-
-
5 novembre 2007
-
Première annonce de Android, 5 mois après la sortie du premier iPhone
-
-
23 septembre 2008
-
Sortie de la première version d’Android
-
-
28 octobre 2008
-
Sortie du T-Mobile G1 par HTC
-
-
26 janvier 2011 : Android 3.0 (Honeycomb)
-
Première version dédiée aux tablettes
-
-
Ressources limitées
-
Différentes tailles écran
-
Capteurs
-
Langues
-
Modes de saisie (tactile, clavier)
-
Réseau
-
pertes de connexion en mobilité
-
la data est chère
-
Important
|
La batterie est le sang du téléphone, économisez la ! |
-
Usages très différents de l’informatique traditionnelle
-
Objet très personnel
-
Les habitudes de l’utilisateur à respecter
-
Chaque plateforme a ses propres habitudes
Caution
|
Parfois plus important que les fonctionnalités |
-
Un contexte est la description du cadre d’exécution : Context
-
Les ressources de l’application
-
L’état du téléphone
-
Le contexte d’interface
-
-
Les classes principales
-
Application
-
Activity + Fragments
-
Service
-
BroadcastReceiver
-
-
Framework d’intentions
-
Un intent est un standard de description d’actions
-
Projet web intent hors d’Android
-
-
Contenu :
-
Action
-
Uri
-
Package spécifique
-
Des datas
-
-
On peut s’y abonner ou en émettre
-
Requis
-
Java
-
XML
-
SQL
-
-
A l’usage de vos applications
-
OpenGL
-
Json
-
Rest…
-
-
Cas particuliers
-
Native Development Kit + C/C++
-
-
SharedPreferences
-
Système clef-valeur
-
Simple mais peu complet
-
-
Les fichiers
-
Complexe à utiliser
-
Bien pour le stockage de volume
-
-
SQLite
-
Bibliothèque de gestion de fichiers textes optimisée
-
Perfomant et "standardisé"
-
-
Beaucoup de MOOC sur le sujet
-
Les Googles Groups officiels Android
-
Les comptes G+ officiels des produits Android
-
Le site StackOverFlow
-
Des comptes sociaux de développeurs connus :
-
Nick Butcher, Rych Hyndman, Cyril Mottier, Romain Guy, Roman Nurik, Jake Wharton, etc…
-
-
La grand messe annuelle, souvent en mai (du 7 au 9 mai 2019)
-
Retransmise un peu partout, dont Toulouse via le GDG
-
Toujours une mine d’informations pour les développeurs Android
-
Installation d’Android Studio
-
Création d’un premier projet
-
Lancement sur un émulateur et sur un device réel
Vous devez déjà avoir téléchargé l’exécutable, il ne vous reste qu’à le lancer.
Si vous n’avez pas de JDK installé, il vous sera proposé d’en installer un.
Sinon, faites pointer lors de l’installation sur un JDK récent (JDK8 minimum).
Normalement vous avez déjà récupéré précédemment l’essentiel dans le SDK Manager.
Caution
|
Le SDK prend vite beaucoup d’espace disque. |
Vous pouvez compléter avec Virtual Devices et Performance (Intel HAXM) vu que votre processeur est capable de virtualisation. Il se peut qu’il y ait besoin d’activer des options dans le bios.
Vous pouvez aussi vous intéresser à Genymotion.
-
Sur votre propre téléphone Android si vous avez un câble USB ⇒ Le plus rapide et facile
-
Installer le driver pour votre téléphone (ou celui de Google dans le SDK Manager)
-
Passer son téléphone en mode développeur
-
Activer le debug via USB
-
-
Sur un émulateur que vous allez créer pour l’occasion ⇒ Lent mais supportable depuis quelques temps
-
Sur une VM Genymotion (VirtualBox) ⇒ 60 fps et outils supplémentaires
Faites le au moins tourner sur l’un de ces cas là, deux ou trois si vous attendez la suite.
Prenez le temps de lire une bonne dizaine de tips de l’IDE, ils vous seront utiles pour gagner du temps par la suite.
-
Alt + Enter pour les suggestions de l’IDE
-
Ctrl + N pour chercher une classe par son nom
-
Ctrl + Shift + N pour ouvrir un fichier par son nom
-
Ctrl + Espace pour l’auto complétion
-
Maj + F6 pour refactor rename
-
Ctrl + O pour Override method, Ctrl + I pour implement
-
Alt + Inser pour génération de getters/setters, equals/hashcode etc