Avant le premier cours, vérifiez que votre poste de travail est opérationnel (tuto):
Installez la dernière version d’Android Studio (tuto) ou mettez le à jour si vous l’avez déjà
Créez un projet vide (laissez l’api minimale proposée) et essayez de le lancer: (tuto)
Si vous avez un appareil Android physique et un cable qui fonctionne, passez le en mode développeur (en tapant 7 fois sur le numéro de build dans les paramètres) et prenez le avec vous en cours, ce sera plus simple. (tuto)
Sinon, créez un émulateur: choisissez un device avec le triangle du PlayStore puis une version d’OS Android (pour éviter des problèmes, ne choisissez pas la toute dernière, mais l’avant dernière par ex). Si vous êtes sous Windows, vous aurez peut être des paramètres BIOS à changer pour la virtualisation.
Paramétrage
Prenez en main l’IDE: vous pouvez aller dans les paramètres (File > Settings ou Android Studio > Preferences) et personnalisez l’IDE, je vous conseille notamment ceci:
Activez tout dans Editor > Inlay Hints
Activez les imports automatiques: Editor > General > Auto Import > Kotlin (en bas) > cocher les 2 cases
Personnalisez la coloration syntaxique dans Settings > Editor > Color Scheme > ⚙ > Import Scheme (ex: le plugin “Rainglow Color Schemes”)
Personnalisez les raccourcis clavier
Android Studio
🚀 Aidez vous de l’IDE: Android Studio fait beaucoup de travail pour vous donc utilisez l’autocompletion et les raccourcis:
CTRL/CMD + click pour voir les usages ou la définition d’un élément
Alt + Enter pour des “💡 QuickFix” (suggestions de l’IDE)
Shift, Shift + "recherche" pour tout le reste (variable, fonction, classe, actions, options, …)
CTRL/CMD + alt + L pour ré-indenter correctement tout le code (ou la sélection)
Google Codelabs
On va commencer en douceur en se basant sur les Codelabs Google
Tous ces tutos ne sont pas indispensable pour des presque-ingénieurs tels que vous alors on va en faire seulement quelques uns:
Pendant les prochains TP, vous allez créer un projet en binôme que vous compléterez au fil des TPs.
Par défaut c’est une simple Todo app, mais vous pouvez choisir un autre sujet qui vous intéresse plus, mais dans tous les cas il faudra que le résultat final respecte certaines specifications:
Liste scrollable d’éléments (avec RecyclerView)
Interaction avec une API distante (avec Retrofit, kotlinXcoroutines et kotlinXserialization)
Afficher des images (avec Coil)
Naviguer entre plusieurs écrans en échangeant des infos (Intent, Navigation Component, Activity Result)
Respecter une architecture minimale (avec ViewModel et Repository)