Mettre en place une application Android en 50 minutes

Mettre en place une application Android en 50 minutes

Cette présentation a été faite dans le cadre de la première édition ITogo.conf. Le but est de revenir sur les bases d'Android et montrer comment créer en live une application en Kotlin.

D3bcad37b1ec0fc8ecdeb199e54a61e4?s=128

Dev-Mind

June 11, 2018
Tweet

Transcript

  1. @guillaumeehret 50 minutes pour créer une app Android 9 juin

    2018
  2. @guillaumeehret La plateforme Android

  3. @guillaumeehret Android est l’OS le plus utilisé Données en Afrique

    Avril 2018
  4. @guillaumeehret Android sur 80% des OS mobiles Données en Afrique

    Avril 2018
  5. @guillaumeehret Présent sur de nombreux devices

  6. @guillaumeehret Des capteurs de plus en plus nombreux Camera Podomètre

    Luminosité Thermomètre Microphone Capteur empreinte Accéléromètre Magnétomètre Capteur proximité Gyroscope Prise de pouls Reconnaissance gestuelle Baromètre ...
  7. @guillaumeehret Wear OS Montres... Android Things Pour l’IOT Android TV

    Pour le salon consoles, TV Android Auto Pour les voitures autonomes ou non Chrome OS Déployer sur ce nouvel OS Plusieurs plateformes Android JetPack Librairies et utilitaires pour simplifier le dev
  8. @guillaumeehret Construit sur un noyau Linux Linux Kernel Hardware Abtraction

    Layer (HAL) Native C/C++ librairies Android Runtime (ART) Java / Kotlin API Framework System apps User apps
  9. @guillaumeehret Développer une application User apps

  10. @guillaumeehret User apps .dex Ressources & Librairies APK compile assemble

    push PROD push DEV via ADB Packager une application
  11. @guillaumeehret Installation application Android Runtime (ART) run dex2oat User apps

    APK .dex Ressources & Librairies .oat
  12. @guillaumeehret Installation application Android Runtime (ART) run dex2oat User apps

    APK .dex Ressources & Librairies .oat APP Linux Kernel Hardware Abtraction Layer (HAL) Native C/C++ librairies Android Runtime (ART) Java / Kotlin API Framework System apps User apps
  13. @guillaumeehret Ress & Librairies .oat APP Ress & Librairies .oat

    APP La sécurité s’appuie sur Linux
  14. @guillaumeehret Application A ne peut pas ... Lire les données

    Utiliser la mémoire Utiliser les ressources CPU Utiliser les devices … de l’application B Ress & Librairies .oat APP Isolation des applications Ress & Librairies .oat APP
  15. @guillaumeehret Application A interagit avec l’application B vous devez spécifier

    votre intention via une intent (ouvrir un composant, envoyer un message…) Communication via des messages Ress & Librairies .oat APP Ress & Librairies .oat APP
  16. @guillaumeehret Cupcake 1.5 / Api 3 2009 Donut 1.6 /

    Api 4 2009 Eclair 2.0 - 2.1 / Api 5-7 2010 Froyo 2.2 / Api 8 2011 Gingerbread 2.3 / Api 9-10 2011 Honeycomb 3.0-3.2 / Api 11-13 2011 Ice Cream Sandwich 4.0 / Api 14-15 2011 Jelly Bean 4.1-4.3 / Api 16-18 2012 Kit Kat 4.4 / Api 19-20 2013 Lolipop 5.0-5.1 / Api 21 2014 Marshmallow 6.0 / Api 22 2015 Nougat 7.0-7.1 / Api 23 2016 Oreo 8.0-8.1 / Api 24 2017 P 9.0 / Api 25 2018 Une version par an
  17. @guillaumeehret Fragmentation versions Nougat 7.0-7.1 / Api 23 2016 Marshmallow

    6.0 / Api 22 2015 Lolipop 5.0-5.1 / Api 21 2014 Kit Kat 4.4 / Api 19-20 2013 Oreo 8.0-8.1 / Api 24 2017 Source : Android dashboard Mai 2018
  18. @guillaumeehret Fragmentation taille écran Source : Android dashboard Mai 2018

  19. @guillaumeehret Fragmentation densité Source : Android dashboard Mai 2018 ldpi

    mdpi tvdpi hdpi xhdpi xxhdpi Total Small 0.40% 0.10% 0.50% Normal 0.90% 0.30% 27.30% 39.30% 23.30% 91.10% Large 2.40% 1.50% 0.40% 0.70% 0.50% 5.50% Xlarge 1.80% 0.60% 0.50% 2.90% Total 0.40% 5.10% 1.80% 28.30% 40.50% 23.90% 100.00%
  20. @guillaumeehret Créer une application en 50 minutes

  21. @guillaumeehret https://www.dev-mind.fr

  22. @guillaumeehret

  23. #WebPerformance / 9 juin 2018 @guillaumeehret @guillaumeehret #WebPerformance / 9

    juin 2018 https://www.dev-mind.fr Développement Formations
  24. @guillaumeehret Développer en

  25. @guillaumeehret https://developer.android.com/studio/

  26. @guillaumeehret Le but de Kotlin est de rendre les développements

    plus rapides et plus simples en poussant l’expressivité Kotlin se base sur la JVM et est complètement interopérable avec Java
  27. @guillaumeehret Live coding

  28. @guillaumeehret Kotlin simplifie la syntaxe Immutabilité Adieu les null pointers

    Paramètres par défaut Data class Extensions de fonction Fonctions d’ordre supérieur Intérêt de Kotlin
  29. @guillaumeehret Créer une application Android

  30. @guillaumeehret Les points d’entrées Activité Services Content providers Broadcast providers

  31. @guillaumeehret Créer une activité Activité Décrire la vue dan un

    layout Un layout se définit en XML Créer une activité Classe Java qui va hériter de AppCompatActivity Lier l’activité à la vue Se fait dans le onCreate de l’activité Déclarer la vue comme point d’entrée Mise à hour du fichier AndroidManifest.xml
  32. @guillaumeehret Cycle de vie d’une activité simplifié Created Started visible

    Paused Visible partiellement Stopped masqué Resumed visible onCreate() onStart() onStart() onRestart() onResume() onPause() onResume() onStop() onDestroy()
  33. @guillaumeehret Live coding

  34. @guillaumeehret Les ressources Toutes les ressources statiques ou dépendant du

    device (taille, réseau, pays, langue, orientation…) doivent être isolées dans des fichiers Android chargera les bonnes ressources en fonction des contraintes du device Color Drawable Font Layout Menu Mipmap String Values
  35. @guillaumeehret Les layouts Définit la structure d’une interface utilisateur Revient

    à placer des widgets (View) dans des layouts (ViewGroup) ViewGroup principal ViewGroup View View View View
  36. @guillaumeehret Créer une application Android en 50 min ou presque

  37. @guillaumeehret Android Studio en action Les ressources Layout Le fichier

    manifest Activités Intent Ma première application
  38. @guillaumeehret https://github.com/Dev-Mind/kotlinInAction https://github.com/Dev-Mind/androidInAction https://developer.android.com/ https://developers.google.com/training Thanks

  39. @guillaumeehret Fragments Activité A contient les fragments A et B

    Activité A contient le fragment A Activité B contient le fragment B La sélection d’un item à gauche met à jour le fragment B à droite La sélection d’un item à gauche ouvre l’activité B