Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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.

Dev-Mind

June 11, 2018
Tweet

More Decks by Dev-Mind

Other Decks in Technology

Transcript

  1. @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 ...
  2. @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
  3. @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
  4. @guillaumeehret User apps .dex Ressources & Librairies APK compile assemble

    push PROD push DEV via ADB Packager une application
  5. @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
  6. @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
  7. @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
  8. @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
  9. @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
  10. @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%
  11. #WebPerformance / 9 juin 2018 @guillaumeehret @guillaumeehret #WebPerformance / 9

    juin 2018 https://www.dev-mind.fr Développement Formations
  12. @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
  13. @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
  14. @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
  15. @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()
  16. @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
  17. @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
  18. @guillaumeehret Android Studio en action Les ressources Layout Le fichier

    manifest Activités Intent Ma première application
  19. @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