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.
@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 ...
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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