Alphorm.com Formation Android 5
-
Upload
alphormcom -
Category
Technology
-
view
2.993 -
download
32
Transcript of Alphorm.com Formation Android 5
-
Android 5
Prsentation de la formation
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Android 5
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Gnralits
Utiliser lenvironnement
Raliser une application
Les interfaces utilisateur
Stocker les informations
Grer le multimdia
XML et HTTP
Grer les infos utilisateur
Matriser Android 5 et Android 4 alphorm.com
Faire des tests
Montiser lapplication
Android Wear
-
Prsentation du formateur Fabien Brissonneau
Email : [email protected]
Consultant Concepteur et Formateur
Missions darchitecture, de conception , de ralisation logicielles
Fondateur de eiXa6
Actuellement en mission sur un projet de gestion
Matriser Android 5 et Android 4 alphorm.com
Actuellement en mission sur un projet de gestion
Mes rfrences :
Mon profil Viadeo : http://fr.viadeo.com/fr/profile/fabien.brissonneau
Mon profil LinkedIn : http://fr.linkedin.com/pub/fabien-brissonneau/65/902/92a/
-
Mes formations sur alphorm
Matriser Android 5 et Android 4 alphorm.com
-
Les autres formations dv sur Alphorm
Matriser Android 5 et Android 4 alphorm.com
-
Quest-ce que Android ? Un systme dexploitation pour mobiles
Une plateforme multi-constructeurs, multi-diteurs
Un framework riche, cohrent et efficace
Une ensemble doutils de dveloppement productifs
Matriser Android 5 et Android 4 alphorm.com
Les alternatives sont minoritaires
-
Publics concerns Cette formation sadresse des dveloppeurs
Connatre Java est ncessaire, ne pas tre drout par sa syntaxe
Nous ne reviendrons pas sur les concepts du langage
Matriser Android 5 et Android 4 alphorm.com
-
Prsentation des outils Le SDK Android, framework et outils
Linterface de dveloppement Android Studio
La prsentation sera faite sous Windows 8
Matriser Android 5 et Android 4 alphorm.com
-
Are you ready ?
Matriser Android 5 et Android 4 alphorm.com
-
Histoire dAndroid
Gnralits sur Android
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Histoire dAndroid
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Les acteurs
Le systme
Les outils
Matriser Android 5 et Android 4 alphorm.com
-
Les acteurs Google
Open Handset Alliance, http://www.openhandsetalliance.com/
Matriser Android 5 et Android 4 alphorm.com
Une mascotte, BugDroid
-
Le systme Premire version commerciale en Septembre 2008
Chaque version majeure porte un nom depuis Cupcake
Cupcake,Donut,Eclair,Froyo,Gingerbread,Honeycomb,
IceCreamSandwich (4.0-4.0.4), JellyBean, KitKat (4.4)
Matriser Android 5 et Android 4 alphorm.com
Lollipop (5)
Les versions correspondent plus ou moins des version de lAPI
Lollipop correspond lAPI 21
-
Les outils Un site : http://developer.android.com/sdk/index.html
La mise jour des outils du SDK via SDK Manager
Les outils du SDK ont des numros de versions
En dcembre 2014 : 24.0.2
Matriser Android 5 et Android 4 alphorm.com
Les outils spcifiques la dernire plateforme sont les platform-tools
-
Ce quon a couvert Les acteurs
Le systme
Les outils
Matriser Android 5 et Android 4 alphorm.com
-
Architecture
Gnralits sur Android
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Architecture
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Les couches du systme
Lexcution dune application
Matriser Android 5 et Android 4 alphorm.com
-
Les couches du systme Le framework dapplications
Le binder (IPC), couche de liaison vers le systme
Les services systme, organis en composants (systme ou mdia)
La couche dabstraction du matriel (HAL)
Matriser Android 5 et Android 4 alphorm.com
Le noyau Linux et ses pilotes
-
Lexcution dune application Avant la version 5, Dalvik est le nom de la machine virtuelle
La compilation est dite JIT (Just In Time)
Lollipop utilise ART (Android RunTime)
Excution du format Dex (Dalvik Executable)
Compilation AOT (Ahead Of Time), qui a lieu linstallation
Matriser Android 5 et Android 4 alphorm.com
Compilation AOT (Ahead Of Time), qui a lieu linstallation
Un garbage collector gre la mmoire
-
Ce quon a couvert Les couches du systme
Lexcution dune application
Matriser Android 5 et Android 4 alphorm.com
-
Les packages
Gnralits sur Android
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Les packages
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Larborescence des packages
Le package android.app
Les packages android.widget et android.view
Le package android.utils
Matriser Android 5 et Android 4 alphorm.com
Les packages com.google.android.gms.*
-
Larborescence de packages Les packages sous android.app
Le modle applicatif android, Activity, Service y sont
Les packages sous android.content
Les composants ContentProvider et BroadcastReceiver
Les packages android.widget et android.view
Matriser Android 5 et Android 4 alphorm.com
Les packages android.widget et android.view
Les composants graphiques
Les packages java.*
Les classes java utilisables pour Android
-
Le package android.app La classe Activity : composant graphique qui permet les interactions
avec lutilisateur
La classe Service : un composant qui ralise des traitements en arrire-plan
La classe Fragment, qui est une partir rutilisable de lihm
Matriser Android 5 et Android 4 alphorm.com
-
Les packages android.widget et android.view Les classes Button, CheckBox, DatePicker
lments graphiques chargs dans lActivit
Les classes LinearLayout, GridLayout
Les composants de disposition des contrles dans lactivit
Les classes Menu, MenuItem
Matriser Android 5 et Android 4 alphorm.com
Les classes Menu, MenuItem
Les composants de menu
-
Le package android.util La classe Log
Permet de tracer des vnements dans LogCat
La classe Xml
Utilitaire de traitement de fichiers Xml
Matriser Android 5 et Android 4 alphorm.com
-
Les packages com.google.util.gms.* Les classes Google Play Services
Google+
Google Maps
Android Wear
Matriser Android 5 et Android 4 alphorm.com
Chaque API a son propre package
-
Ce quon a couvert Larborescence des packages
Le package android.app
Les packages android.widget et android.view
Le package android.utils
Matriser Android 5 et Android 4 alphorm.com
Les packages com.google.android.gms.*
-
Android Studio
Utiliser lenvironnement
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Android Studio
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Installation de lIDE et du JDK
Les ressources dans un projet
Les activits et les tests dans un projet
Les fonctions dAndroid Studio
Matriser Android 5 et Android 4 alphorm.com
-
Installation de lIDE et du JDK Url : http://developer.android.com/sdk/index.html
Possible de ne tlcharger que le SDK
JDK
Android SDK
Matriser Android 5 et Android 4 alphorm.com
Images pour AVD
-
Les ressources dans un projet Les ressources jouent un rle important :
Description de lihm, codes couleurs, chanes de caractres, images
Les ressources sont utilises grce un identifiant
En java, la classe R reprsente ces ressources
Matriser Android 5 et Android 4 alphorm.com
Certaines ressources sont non structures : les assets
Lorganisation des ressources suit des rgles de nommage et dorganisation des rpertoires
-
Les activits et les tests dans un projet Une activit est un concept dinterface utilisateur
Un simple cran
Contient une ou plusieurs vues
Plusieurs activits dans une application
Matriser Android 5 et Android 4 alphorm.com
Les fragments sont comme des sous-activits
Ils sont prvus pour grer les potentiels diffrents selon les tailles dcrans
Les ressources de layout seront lies aux activits
Une activit est une classe Java
-
Les fonctions et les tests dAndroid Studio Lditeur de code
Des modles prts lemploi
Des applications multi-crans
Des matriels virtuels divers
Matriser Android 5 et Android 4 alphorm.com
Des scripts de construction volus
-
Ce quon a couvert Installation de lIDE et du JDK
Les ressources dans un projet
Les activits et les tests dans un projet
Les fonctions dAndroid Studio
Matriser Android 5 et Android 4 alphorm.com
-
Compilation, excution et
Utiliser lenvironnement
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Compilation, excution et dbogage
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan La compilation du projet
Lexcution de lapplication
Le dbogage de lapplication
Matriser Android 5 et Android 4 alphorm.com
-
La compilation du projet Un projet sous Android Studio est compos de plusieurs modules
Chaque module donne lieu un fichier zip dextension .apk
Ce fichier contient :
Le code excutable par la VM (Dalvik ou ART)
Matriser Android 5 et Android 4 alphorm.com
Les ressources compiles
Un manifest dcrivant lapplication
La signature dans un certificat (la cl prive est conserve par le dveloppeur)
-
Lexcution de lapplication Se ralise sur mulateur
Choix dun AVD, ou cration dun nouveau
Ou bien sur un appareil physique
Installation des pilotes USB
Paramtres dveloppeur activ
Matriser Android 5 et Android 4 alphorm.com
Paramtres dveloppeur activ
-
Le dbogage de lapplication Le certificat est gnr automatiquement par Android Studio
Le dbogage peut se faire sur matriel virtuel ou rel
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert La compilation du projet
Lexcution de lapplication
Le dbogage de lapplication
Matriser Android 5 et Android 4 alphorm.com
-
Le dploiement
Utiliser lenvironnement
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Le dploiement
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Les modes de livraison
La gestion des versions
Les signatures
Matriser Android 5 et Android 4 alphorm.com
-
Les modes de livraison Diffrents canaux :
Par un marketplace (Google Play), voir les rgles spcifiques
Par mail
Via un site web
Paramtrage de linstallation partir de sources inconnues
Matriser Android 5 et Android 4 alphorm.com
Paramtrage de linstallation partir de sources inconnues
Prparation minimum :
Mode release
Signer
Tester et vrifier lapplication et toutes les ressources externes
-
La gestion des versions A noter limportance des numros de versions dans ce systme ou
plusieurs applications vont collaborer
Dans le manifest :
La version : versionCode (pour les applications) , versionName (pour les utilisateurs)
Matriser Android 5 et Android 4 alphorm.com
Prrequis sur le SDK : minSdkVersion, targetSdkVersion, maxSdkVersion
-
Les signatures Les applications sont toutes signes avant quelles puissent tre
installes
Les certificats sont auto-signs, ils servent identifier lauteur
En mode debug, le certificat est gnr par le Android SDK
Mot de passe bien connu, pas besoin de le fournir
Matriser Android 5 et Android 4 alphorm.com
Mot de passe bien connu, pas besoin de le fournir
En mode release, il faut disposer dun magasin de cls prives, dune cl prive identifiant lauteur, modifier le fichier de build
Toutes les versions dune application doivent avoir la mme cl
-
Ce quon a couvert Les modes de livraison
La gestion des versions
Les signatures
Matriser Android 5 et Android 4 alphorm.com
-
Les outils
Utiliser lenvironnement
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Les outils
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Utiliser Android Studio
Les outils en ligne de commande
Les principaux outils
Matriser Android 5 et Android 4 alphorm.com
-
Utiliser Android Studio Laide la construction de lihm
Un suivi des images correspondant aux variables
Fentre de sortie filtrable
Positionnement automatique des parents dactivits
Matriser Android 5 et Android 4 alphorm.com
Cration facilite des ihms
Edition simple et complte du code : quick fix, navigation facile, rgion de code, aide rapidement accessible,
-
Les outils en ligne de commande Les outils du SDK : AVD Manager, Android Emulator, mksdcard
Les outils de dveloppement : android, hierachyviewer, lint, sdkmanager, sqlite3
Les outils de debug : adb, uiautomator, ddms, device monitor, monkey, systrace
Matriser Android 5 et Android 4 alphorm.com
Les outils de construction
Les outils dimages
Remarque sur les outils lis la plateforme
-
Les principaux outils Android Asset Packaging Tool (aapt) : compile les ressources et produit
R.java
Les ventuelles interfaces aidl
Matriser Android 5 et Android 4 alphorm.com
-
Les principaux outils Les fichiers .class sont traduits en .dex
Matriser Android 5 et Android 4 alphorm.com
-
Les principaux outils La signature suit
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Utiliser Android Studio
Les outils en ligne de commande
Les principaux outils
Matriser Android 5 et Android 4 alphorm.com
-
Un simple programme
Raliser une application
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Un simple programme
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Le primtre de lapplication
Larchitecture de lapplication
La construction de lihm principale
Les menus
Matriser Android 5 et Android 4 alphorm.com
-
Le primtre de lapplication Exemple dapplication qui permet de garder trace de ses dplacements
Saisir un trajet : saisie manuelle, rcupration de la localisation, notification wear, stockage
Rcuprer les trajets et kilomtres par mois ou par an : imprimante, mail, stockage,
Paramtrage : localisation, stockage, cloud, imprimante
Matriser Android 5 et Android 4 alphorm.com
Paramtrage : localisation, stockage, cloud, imprimante
-
Architecture de lapplication Vues de haut niveau entre lesquelles on peut naviguer
Les vues par catgories pour entrer dans le dtail
Les vues de dtail
Dans un premier temps, saisie dun trajet : 1 seule vue de haut niveau
Matriser Android 5 et Android 4 alphorm.com
-
Construction de lihm principale La notion de view : les contrles visuels
La notion de viewgroup : tous les layouts
Il est possible de crer lihm dans le code, ou bien dans XML
Avec lditeur graphique, ou bien en ditant le code XML directement
Matriser Android 5 et Android 4 alphorm.com
Ensemble complet de contrles : Textes, Boutons, Images, Dates
Contrles complexes : Liste, Grille, Spinner et Gallerie
Travaille avec des adaptateurs
-
Cas particulier des AdapterView Sparation de laccs aux donnes de leur reprsentation
Un contrle de liste (ListView, Spinner,) contient des items dont le type doit tre dcrit par un layout
Il est li par un adaptateur des donnes (tableau, )
Un adaptateur convertit une donne en une vue enfant de la liste
Matriser Android 5 et Android 4 alphorm.com
Un adaptateur convertit une donne en une vue enfant de la liste
SimpleCursorAdapter
Lorsque le ListView doit reprsenter une ligne, il fait appel ladaptateur en passant la ligne
Ladaptateur va alors construire la vue enfant en utilisant le layout rfrenc
-
Utiliser un menu Le menu peut tre dcrit dans le fichier XML
Il est cr avec lactivit
Matriser Android 5 et Android 4 alphorm.com
On peut ragir sur les items
-
Ce quon a couvert Le primtre de lapplication
Larchitecture de lapplication
La construction de lihm principale
Les menus
Matriser Android 5 et Android 4 alphorm.com
-
Sauvegarder les donnes
Raliser une application
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Sauvegarder les donnes
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Stockage dans les prfrences
Stockage interne
Stockage externe
Les bases de donnes SQLite
Matriser Android 5 et Android 4 alphorm.com
La connexion au rseau
-
Le stockage dans les prfrences Stockage de paires cl-valeur
Utiliser la classe android.content.SharedPreferences
getSharedPreferences() ou getPreferences()
Stockage de toute variable primitive
Matriser Android 5 et Android 4 alphorm.com
Persistence des donnes entre sessions
Ecriture : edit() fournit un Editor
Appeler putXXX(v), puis commit()
Lecture : utiliser getXXX()
-
Stockage interne Sauvegarder un fichier priv pour lapplication
Le fichier est enlev lorsque dutilisateur dsinstalle lapplication
Pour ouvrir le fichier
La mthode openFileOutput(fichier,mode) de android.content.Context
La mthode openFileInput(fichier)
Matriser Android 5 et Android 4 alphorm.com
La mthode openFileInput(fichier)
Utiliser ensuite FileOutputStream/FileInputStream
Mme technique pour les fichiers de cache, avec getCacheDir()
Autres mthodes : getFilesDir(), getDir(), deleteFile(), fileList()
-
Stockage externe Peut tre une carte SD ou bien interne
Accessibles librement et modifiable par lutilisateur
Soumis permission READ/WRITE_EXTERNAL_STORAGE
Vrifier que le stockage externe existe
Matriser Android 5 et Android 4 alphorm.com
getExternalStorageState()
Fichiers publics :
Environment.getExternalStoragePublicDirectory()
Fichiers app-private :
getExternalFilesDir()
-
Les bases de donnes SQLite Base accessible de lapplication elle-mme
Crer une sous-classe de SQLiteOpenHelper et redfinir onCreate()
Crer les tables ncessaires
Lecture et criture par getReadableDatabase() et getWritableDatabase()
Matriser Android 5 et Android 4 alphorm.com
Les requtes sont excutes avec la mthode SQLiteDatabase.query()
Et les rsultats sont parcourus avec un Cursor
Pour dboguer, penser loutil sqlite3
-
La connexion au rseau Il est possible de se connecter au rseau sil est disponible
Ce serait une forme de stockage des donnes
Les packages java.net.* et android.net.*
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Stockage dans les prfrences
Stockage interne
Stockage externe
Les bases de donnes SQLite
Matriser Android 5 et Android 4 alphorm.com
La connexion au rseau
-
Le cycle de vie
Raliser une application
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Le cycle de vie
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Vue densemble du cycle de vie
La pause et la reprise
Larrt et le redmarrage
La re-cration de lactivit
Matriser Android 5 et Android 4 alphorm.com
-
Vue densemble du cycle de vie Les fonctions appeles lors du changement dtat :
onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy()
onRestart()
Toutes les fonctions ( de rappel ou callback ) nont pas tre implmentes
Matriser Android 5 et Android 4 alphorm.com
implmentes
Les tats stables dans la vie de lactivit sont :
Resumed : en avant-plan et lutilisateur interagit avec
Paused : semi-visible, lutilisateur ne peut plus interagir
Stopped : cache, aucune excution de code
-
Application et activit Lactivit principale de lapplication est dfinie dans le manifest
Cette activit reoit le onCreate() lors du lancement
Matriser Android 5 et Android 4 alphorm.com
-
La redfinition de onCreate() Peut servir construire une ihm diffrente selon la version du SDK
Initialise lihm
Matriser Android 5 et Android 4 alphorm.com
Le pendant est onDestroy(), rarement utilise
-
La pause et la reprise La mthode onPause() est appele lorsque lactivit devient
partiellement invisible
Arrter les actions qui consomment (animations)
Sauvegarder les informations persistantes
Librer les ressources consommatrices (senseurs )
Matriser Android 5 et Android 4 alphorm.com
Librer les ressources consommatrices (senseurs )
Le pendant : onResume()
Initialiser les senseurs
Reprendre les animations
-
Larrt et le redmarrage Les cas dusage de stop/restart :
Lutilisateur passe une autre application par les applications rcentes , stoppe lappli puis repasse par le mme chemin
Lapplication dmarre une autre activit, puis back
Rception dun appel tlphonique
Matriser Android 5 et Android 4 alphorm.com
Rception dun appel tlphonique
Mthode onStop()
Librer toutes les ressources
et onRestart()
Rarement utile
-
La re-cration de lactivit Lorsque lactivit est dtruite car inutilise depuis un certain temps
Il sagit pour le systme dconomiser des ressources
Le systme peut alors reconstruire lactivit dans ltat o elle tait lors de sa destruction
Pairs cls-valeurs dtat -> bundle
Matriser Android 5 et Android 4 alphorm.com
Pairs cls-valeurs dtat -> bundle
La re-cration de lihm est prise en charge par le systme
Pour sauver/restaurer des donnes supplmentaires :
onSaveInstanceState / onRestoreInstanceState
-
Ce quon a couvert Vue densemble du cycle de vie
La pause et la reprise
Larrt et le redmarrage
La re-cration de lactivit
Matriser Android 5 et Android 4 alphorm.com
-
Lactionbar
Raliser une application
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Lactionbar
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Gnralits sur la barre action
Mettre des boutons dans la barre
Modifier le style de la barre
Matriser Android 5 et Android 4 alphorm.com
-
Gnralits sur la barre dactions La barre daction sert
didentit visuelle,
de repre de navigation,
dclencher les actions importantes,
naviguer dans lapplication
Matriser Android 5 et Android 4 alphorm.com
naviguer dans lapplication
Selon la version dAndroid, la mise en uvre peut tre diffrente
Nous ne supportons ici que Android aprs 3.0 (API 11)
-
Mettre des boutons dans la barre Les boutons doivent correspondre aux actions les plus importantes
Si une icne est montre, on parle de action button
Pour ajouter licne, ne pas oublier
Matriser Android 5 et Android 4 alphorm.com
Projet//res/drawable/-> ajouter Image Asset
-
Remarque sur les icnes Tlchargement dicnes toutes prtes
Sur developer.android.com/design/downloads/index.html
Matriser Android 5 et Android 4 alphorm.com
-
Visualise et ragir Pour visualiser le menu
Matriser Android 5 et Android 4 alphorm.com
Et ragir sur les boutons
-
La navigation entre les activits Les activits peuvent tre relies par parent
Ici, lactivit SendMailActivity est fille de MainActivityMileage
Matriser Android 5 et Android 4 alphorm.com
Et ne pas oublier
-
Modifier le style de la barre Il y a deux thmes par dfaut : Theme.Holo et Theme.Holo.Light
Choisir le style dans AndroidManifest.Xml
Ou bien dans un fichier de style : styles.xml
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Gnralits sur la barre action
Mettre des boutons dans la barre
Modifier le style de la barre
Matriser Android 5 et Android 4 alphorm.com
-
Le support des matriels
Raliser une application
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Le support des matriels
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Le support des langages
Le support des crans
Le support des versions de plateformes
Matriser Android 5 et Android 4 alphorm.com
-
Le support des langages Les chanes de caractres sont isoles
Chaque locale est reprsente par un rpertoire
Matriser Android 5 et Android 4 alphorm.com
La recherche seffectue en descendant dans les sous-rpertoires
-
Le support des crans Les crans ont diffrentes tailles et diffrentes densits
Tailles : small, normal, large, xlarge
Densits : ldpi, mdpi, hdpi, xhdpi
Lorientation de lcran correspond une variation de taille
Matriser Android 5 et Android 4 alphorm.com
-
Le support des versions de plateformes Les versions sont reprsentes par des rpertoires
Matriser Android 5 et Android 4 alphorm.com
On peut rcuprer dans le code la version du SDK
-
Ce quon a couvert Le support des langages
Le support des crans
Le support des versions de plateformes
Matriser Android 5 et Android 4 alphorm.com
-
Interagir avec dautres
Raliser une application
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Interagir avec dautres activits
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Gnralits sur les Intent
Lancer une sous-activit
Les Intents Android
Matriser Android 5 et Android 4 alphorm.com
-
Gnralits sur les intents Une intent dfinit une action et les donnes associs
Une intent peut tre explicite ou implicite
Soit dmarrer une activit bien prcise
Soit faire excuter une action par une activit non spcifie
Lactivation est possible grce au paramtrage de
Matriser Android 5 et Android 4 alphorm.com
Lactivation est possible grce au paramtrage de
-
Lancer une sous-activit Pour une action nomme .intent.action.NAME dans le
manifest de lactivit
Crer un objet de classe android.content.Intent
Matriser Android 5 et Android 4 alphorm.com
Lactivit elle-mme peut savoir comment elle a t sollicite
Intent origine = this.getIntent();
-
Les Intents Android Intent.ACTION_VIEW : invocation du navigateur web
Intent.ACTION_MAIN : point dentre dapplication
Intent.ACTION_WEB_SEARCH : recherche Web
Intent.ACTION_CALL : appel tlphonique
Matriser Android 5 et Android 4 alphorm.com
Catgories standards :
CATEGORY_DEFAULT
CATEGORY_LAUNCHER
CATEGORY_BROWSABLE : accessible par un lien
-
Dclencher lenvoi dun mail Suivant laction choisie, on passe des donnes
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Gnralits sur les Intent
Lancer une sous-activit
Les Intents Android
Matriser Android 5 et Android 4 alphorm.com
-
Les composants
Les interfaces utilisateur
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Les composants graphiques
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Les contrles Text
Les contrles Button
Les contrles Date/Time Picker
Les contrles Clock
Matriser Android 5 et Android 4 alphorm.com
Les contrles List/Grid/Spinner
-
Les contrles Text TextView : texte sans dition possible
EditText : champ de texte ditable
AutoCompleteTextView : donne des possibilits de compltion
MultiAutoCompleteTextView : idem mais multiple
Matriser Android 5 et Android 4 alphorm.com
-
Les contrles Button La classe de base android.widget.Button
Listener abonn soit en code Java soit en attribut de balise
Matriser Android 5 et Android 4 alphorm.com
-
Les contrles Date/Time Picker DatePicker
TimePicker
Matriser Android 5 et Android 4 alphorm.com
-
Les contrles Clock TextClock
AnalogClock
Matriser Android 5 et Android 4 alphorm.com
-
Les contrles List/Grid/Spinner ListView
GridView
Spinner
Matriser Android 5 et Android 4 alphorm.com
-
Les containers et les adapters Les List/Grid/Spinner rcuprent leurs donnes via des Adapters
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Les contrles Text
Les contrles Button
Les contrles Date/Time Picker
Les contrles Clock
Matriser Android 5 et Android 4 alphorm.com
Les contrles List/Grid/Spinner
-
La logique de linterface
Les interfaces utilisateur
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
La logique de linterface graphique
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Construire une IHM en Java
Construire une IHM en XML
Construire une IHM en mixant XML et Java
Matriser Android 5 et Android 4 alphorm.com
-
Construire une IHM en Java Les contrles sont attachs des ViewGroup, les layouts
Chaque layout a une orientation
Les ViewGroup sont eux-mmes attachs en relation parent-enfants
Matriser Android 5 et Android 4 alphorm.com
-
Construire une IHM en XML Utilisant les balises
Matriser Android 5 et Android 4 alphorm.com
-
Construire une IHM en mixant Java et XML La construction peut tre faite en XML
Manipulation en Java
Importance des id
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Construire une IHM en Java
Construire une IHM en XML
Construire une IHM en mixant XML et Java
Matriser Android 5 et Android 4 alphorm.com
-
La gestion des menus
Les interfaces utilisateur
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
La gestion des menus
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Les menus options
Les menus contextuels
Les menus popup
Matriser Android 5 et Android 4 alphorm.com
-
Les menus options Ce sont les principaux menus dune activit
Pour des actions ayant un impact global
Depuis Android 3.0, ils sont dans la barre daction
Matriser Android 5 et Android 4 alphorm.com
-
Les menus contextuels Un menu flottant qui apparat suite un long clic sur un lment
Depuis Android 3.0, il sagit du mode daction contextuel de prfrence
Matriser Android 5 et Android 4 alphorm.com
-
Les menus popup Une liste ditems qui correspondent la vue
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Les menus options
Les menus contextuels
Les menus popup
Matriser Android 5 et Android 4 alphorm.com
-
La varit des
Les interfaces utilisateur
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
La varit des LayoutManager
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan LinearLayout
TableLayout
RelativeLayout
FrameLayout
Matriser Android 5 et Android 4 alphorm.com
GridLayout
-
LinearLayout Les enfants sont organiss verticalement ou horizontalement
La gravit est lancrage dun ct
Le poids est le pourcentage de dformation
Matriser Android 5 et Android 4 alphorm.com
-
TableLayout Extension de LinearLayout
Les enfants sont placs en lignes/colonnes
Matriser Android 5 et Android 4 alphorm.com
-
RelativeLayout Les enfants sont rattachs relativement
Au conteneur : android:layout_alignParentTop,
Aux voisins : android:toRightOf,
Matriser Android 5 et Android 4 alphorm.com
-
FrameLayout Plusieurs enfants, mais un seul visible
Utiliser setVisibility() pour faire afficher lun ou lautre
Matriser Android 5 et Android 4 alphorm.com
-
GridLayout Positionne les enfants en lignes/colonnes
Une cellule peut ne pas avoir de contrle
Un contrle peut staler sur plusieurs lignes/colonnes
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert LinearLayout
TableLayout
RelativeLayout
FrameLayout
Matriser Android 5 et Android 4 alphorm.com
GridLayout
-
Les fragments
Les interfaces utilisateur
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Les fragments
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Dfinition du fragment
Intrt des fragments
Matriser Android 5 et Android 4 alphorm.com
-
Dfinition des fragments Un fragment est une partie modulaire dune activit
Un fragment a son propre cycle de vie
Le fragment peut tre rfrenc dans un layout
Ou bien activ dynamiquement
Matriser Android 5 et Android 4 alphorm.com
-
Intrt du fragment Avec un fragment, on peut facilement sadapter des surfaces
importantes
Si la surface est faible, lancer une autre activit
Si la surface est suffisante, faire apparatre le fragment
Le fragment peut tre activ dynamiquement
Matriser Android 5 et Android 4 alphorm.com
Le fragment peut tre activ dynamiquement
-
Exemple deux activits deux fragments 1 activit charge un fragment La seconde activit charge
Matriser Android 5 et Android 4 alphorm.com
Le fragment (par exemple index) invoque une autre activit
Le second fragment, qui reprsente par exemple les dtails
-
Exemple une activit deux fragments 1 activit a les deux fragments dans son layout
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Dfinition du fragment
Intrt des fragments
Matriser Android 5 et Android 4 alphorm.com
-
Mettre en place des tests
Faire des tests
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Mettre en place des tests
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Le rle et lintrt des tests
Faire des tests manuels
Les frameworks de test
Matriser Android 5 et Android 4 alphorm.com
-
Le rle et lintrt des tests Vrifier que les composants fonctionnent comme attendu
Rassurer le dveloppeur
Permettre davancer sur les fonctionnalits sans compromettre lexistant
Matriser Android 5 et Android 4 alphorm.com
-
Faire des tests manuels Simples mettre en uvre
Particulirement pratique pour les tests dihm
Longs et fastidieux
Difficiles systmatiser
Matriser Android 5 et Android 4 alphorm.com
Ncessite une intervention humaine
-
Les frameworks de tests Propose des mthodes toutes prtes
Assertions
Propose une ihm pour visualiser tout de suite les problmes
Permet dautomatiser des tests
Matriser Android 5 et Android 4 alphorm.com
En Java, la rfrence est Junit
Les tests sont typiquement crs par Activit
-
Ce quon a couvert Le rle et lintrt des tests
Faire des tests manuels
Les frameworks de test
Matriser Android 5 et Android 4 alphorm.com
-
Crer des tests unitaires
Faire des tests
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Crer des tests unitaires
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Les tests unitaires utilisant les frameworks
Rgles de construction des tests
Exemple de tests
Matriser Android 5 et Android 4 alphorm.com
-
Les tests unitaires utilisant les frameworks Pour les tests nutilisant pas les composants Android, JUnit suffit
Les composants Android sont tests avec les extensions
Les classes de tests sont ranges dans des packages Java classiques
Matriser Android 5 et Android 4 alphorm.com
-
Rgles de construction des tests Une classe de test par classe tester
Une mthode de test par test
Base sur JUnit 3, les mthodes commencent par test
Commencer par crire des assertions
Matriser Android 5 et Android 4 alphorm.com
Btir le test ensuite
-
Exemple de test unitaire Une classe Voyage
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Les tests unitaires utilisant les frameworks
Rgles de construction des tests
Exemple de tests
Matriser Android 5 et Android 4 alphorm.com
-
Tester linterface
Faire des tests
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Tester linterface graphique
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Le framework dinstrumentation
Simuler linteraction utilisateur
Matriser Android 5 et Android 4 alphorm.com
-
Le framework dinstrumentation Hriter de classes drives de TestCase
ActivityInstrumentationTestCase
Mettre en place un setUp
Tester les interactions sur lihm
Matriser Android 5 et Android 4 alphorm.com
-
Simuler les interactions Rcuprer les contrles
Envoyer des vnements
Attention ce que lapplication soit visible
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Le framework dinstrumentation
Simuler linteraction utilisateur
Matriser Android 5 et Android 4 alphorm.com
-
Tester avec les mocks
Faire des tests
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Tester avec les mocks
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Les classes de android.test.mock
Utilisations des classes de Mock
Matriser Android 5 et Android 4 alphorm.com
-
Les classes de android.test.mock MockApplication
MockContentProvider
MockContentResolver
MockContext
Matriser Android 5 et Android 4 alphorm.com
MockCursor
MockDialogInterface
MockResources
-
Utilisation des classes de Mock Fournir une classe
Pour compiler
Faire fonctionner les services
Ne propose pas une implmentation relle
Permet davancer sur les tests
Matriser Android 5 et Android 4 alphorm.com
Permet davancer sur les tests
Il suffit de redfinir les mthodes qui le ncessitent
-
Ce quon a couvert Les classes de android.test.mock
Utilisations des classes de Mock
Matriser Android 5 et Android 4 alphorm.com
-
Le compte dveloppeur
Montiser lapplication
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Le compte dveloppeur
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Cration du compte dveloppeur
La console du dveloppeur
Matriser Android 5 et Android 4 alphorm.com
-
Cration du compte dveloppeur Accder au site :
Vrification par tlphone
Matriser Android 5 et Android 4 alphorm.com
-
Compte dveloppeur Contrat accepter
Rglement
Matriser Android 5 et Android 4 alphorm.com
-
La console du dveloppeur Via le site http://developer.android.com/distribute/index.html
Developer Console
Matriser Android 5 et Android 4 alphorm.com
-
La console Liste des applications et statistiques
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Cration du compte dveloppeur
La console du dveloppeur
Matriser Android 5 et Android 4 alphorm.com
-
La prparation de
Montiser lapplication
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
La prparation de lapplication
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Gestion du fichier APK
Prparation de la fiche Google Play
Matriser Android 5 et Android 4 alphorm.com
-
Gestion du fichier APK Gnrer le APK et le signer
Tlcharger le fichier
Matriser Android 5 et Android 4 alphorm.com
-
Prparation de la fiche Google Play Fournir les infos de description de lapplication
Les captures
Matriser Android 5 et Android 4 alphorm.com
-
Captures dcrans Par loutil Monitor
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Gestion du fichier APK
Prparation de la fiche Google Play
Matriser Android 5 et Android 4 alphorm.com
-
Grer la publicit
Montiser lapplication
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Grer la publicit
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Le compte AdMob
Crer une unit publicitaire
Installer le SDK
Matriser Android 5 et Android 4 alphorm.com
-
Le compte AdMob Crer le compte , via le compte Google
AdSense
AdWords
Matriser Android 5 et Android 4 alphorm.com
-
Crer une unit publicitaire Sous le compte AdMob
Indiquer quelle application est concerne
Matriser Android 5 et Android 4 alphorm.com
-
Installer le SDK Mettre en place la bibliothque de service Google Play
Ne pas oublier la balise meta-data
Dclarer une activit AdActivity
Autoriser les connexions rseau
Matriser Android 5 et Android 4 alphorm.com
Puis crer un objet
de type AdView dans votre ihm
-
Ce quon a couvert Le compte AdMob
Crer une unit publicitaire
Installer le SDK
Matriser Android 5 et Android 4 alphorm.com
-
Les prfrences
Stocker les informations
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Les prfrences
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan La classe SharedPreferences
Positionner des valeurs
Lire les informations de prfrence
Enregistrer une callback
Matriser Android 5 et Android 4 alphorm.com
-
La classe SharedPreferences Fournit des services pour sauver et rcuprer des paires cl-valeur de
primitives et de chanes
Pour obtenir un SharedPreferences, utiliser
Soit getSharedPreferences() : chaque fichier est identifi
Soit getPreferences() : un fichier unique pour lactivit
Matriser Android 5 et Android 4 alphorm.com
Soit getPreferences() : un fichier unique pour lactivit
-
Positionner des valeurs Utiliser la classe SharedPreferences.Editor pour positionner les valeurs
Mthodes pour positionner des valeurs :
putBoolean(String,boolean), putFloat(String,float), putInt(String,int), putLong(String,long), putString(String,String), putStringSet(String,Set)
Matriser Android 5 et Android 4 alphorm.com
Mthodes pour supprimer : clear(), remove(String)
Mthodes pour appliquer les changements : apply(), commit()
-
Lire les informations de prfrence Sur la classe SharedPreferences
getBoolean, getFloat, getInt, getLong, getString, getStringSet
Paramtres : la cl et une valeur par dfaut
Rcupration de toutes les valeurs : getAll
Obtenir un Editor (pour positionner des valeurs) : edit
Matriser Android 5 et Android 4 alphorm.com
Obtenir un Editor (pour positionner des valeurs) : edit
Vrifier quune cl existe : contains
Enregistrer des callbacks : register.unregister
-
Enregistrer une callback Mthodes registerOnSharedPreferenceChangeListener(.), unregister
Un listener doit tre fourni, qui sera appel lorsquune modification se produit sur les prfrences
OnSharedPreferenceChangeListener est linterface implmenter
Mthode onSharedPreferenceChanged(SharedPreference, String)
Matriser Android 5 et Android 4 alphorm.com
Mthode onSharedPreferenceChanged(SharedPreference, String)
-
Ce quon a couvert La classe SharedPreferences
Positionner des valeurs
Lire les informations de prfrence
Enregistrer une callback
Matriser Android 5 et Android 4 alphorm.com
-
Le stockage interne
Stocker les informations
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Le stockage interne
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan La mthode openFileOutput
La mthode openFileInput
Les fichiers de cache
Matriser Android 5 et Android 4 alphorm.com
-
La mthode openFileOutput Cre un fichier accessible uniquement de lapplication
Le fichier sera dtruit lors de la dsinstallation
Les modes possibles sont
Context.MODE_PRIVATE : cration/remplacement
Matriser Android 5 et Android 4 alphorm.com
Context.MODE_APPEND : ajoute
Context.MODE_WORLD_READABLE : lisible par les autres applications
Context.MODE_WORLD_WRITABLE : inscriptible par les autres
Ecriture utilisant write
Fermeture du flux avec close
-
La mthode openFileInput Dans la classe Context
Retourne un FileInputStream
Demande le nom du fichier ouvrir
Peut lever FileNotFoundException
Matriser Android 5 et Android 4 alphorm.com
-
Les fichiers de cache Obtenir le rpertoire de cache avec getCacheDir() : File
Ouvrir et manipuler le fichier
Les fichiers en cache sont privs lapplication
Peuvent disparatre lorsque le systme a besoin
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert La mthode openFileOutput
La mthode openFileInput
Les fichiers de cache
Matriser Android 5 et Android 4 alphorm.com
-
Le stockage externe
Stocker les informations
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Le stockage externe
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Dfinition
Mise en uvre initiale
Crer un fichier et sauvegarder
Matriser Android 5 et Android 4 alphorm.com
-
Dfinition Le stockage externe consiste stocker sur un support externe
Cela peut tre rellement amovible, mais peut-tre non
Permissions android.permission.READ/WRITE_EXTERNAL_STORAGE
Donnes sans protection, accessibles dautres applications
Matriser Android 5 et Android 4 alphorm.com
-
Mise en uvre initiale Dclarer la permission
Vrifier la prsence dun stockage externe
Matriser Android 5 et Android 4 alphorm.com
Environment.getExternalStorageState()
Vrifier la possibilit dy accder en criture
Environment.MEDIA_MOUNTEDY
Vrifier la possibilit dy accder en lecture
Environment.MEDIA_MOUNTED_READ_ONLY
-
Crer un fichier et sauvegarder Pour un usage priv, utiliser getExternalFilesDir() : File
Possibilit de passer un paramtre
Pour un accs plus gnral, utiliser
getExternalStoragePublicDirectory(..)
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Dfinition
Mise en uvre initiale
Crer un fichier et sauvegarder
Matriser Android 5 et Android 4 alphorm.com
-
La base SQLite
Stocker les informations
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
La base SQLite
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Lintrt de la base de donnes
La cration et la mise jour du schma
Ecrire et lire dans la base de donnes
Matriser Android 5 et Android 4 alphorm.com
-
Lintrt de la base de donnes Un stockage structur
Tables, colonnes, types
Des requtes utilisant le langage SQL
Des volumes importants accessibles dans des temps raisonnables
Matriser Android 5 et Android 4 alphorm.com
-
La cration et la mise jour du schma Utiliser SQLiteOpenHelper
Sous classer cette classe, qui contient toute la mcanique
Redfinir les mthodes permettant de crer et de mettre jour
Matriser Android 5 et Android 4 alphorm.com
-
Ecrire et lire Obtenir une SQLiteDatabase
Par appel de getWritableDatabase ou de getReadableDatabase
Executer du SQL : execSQL ou query
Rcupration des donnes via un Cursor
Matriser Android 5 et Android 4 alphorm.com
Loutil sqlite3 permet daccder une base de donnes via un terminal
-
Ce quon a couvert Lintrt de la base de donnes
La cration et la mise jour du schma
Ecrire et lire dans la base de donnes
Matriser Android 5 et Android 4 alphorm.com
-
Une interface pour les
Stocker les informations
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Une interface pour les prfrences
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Un type dactivit ddi : PreferenceActivity
Les crans de prfrence
Matriser Android 5 et Android 4 alphorm.com
-
Un type dactivit ddi Construire une activit ddie aux prfrences
Driver lactivit de PreferenceActivity
Prparer les fragments correspondants chaque catgorie de prfrences
Le stockage est automatique, puis utiliser
Matriser Android 5 et Android 4 alphorm.com
Le stockage est automatique, puis utiliser PreferenceManager.getDefaultSharedPreference() pour le relire
-
Les crans de prfrence Chaque catgorie de prfrence correspond un PreferenceScreen
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Un type dactivit ddi : PreferenceActivity
Les crans de prfrence
Matriser Android 5 et Android 4 alphorm.com
-
Prendre des photos
Grer le multimdia
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Prendre des photos
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Laccs lappareil photo
Rcuprer limage obtenue
Stocker limage dans un fichier
Contrler directement lappareil photo
Matriser Android 5 et Android 4 alphorm.com
-
Laccs lappareil photo Penser dclarer lusage de lappareil photo
Requis ou non
Matriser Android 5 et Android 4 alphorm.com
Sil nest pas requis, il faudra tester la disponibilit de lappareil photo
-
Rcuprer limage obtenue Limage peut-tre rcupre sous la forme dun bitmap
Matriser Android 5 et Android 4 alphorm.com
-
Stocker limage dans un fichier Une image stocke dans un fichier externe
Crer le fichier (File)
Fournir une Uri lIntent
putExtra(MediaStore.EXTRA_OUTPUT,Uri)
Possible aussi de rajouter la photo dans la gallerie
Matriser Android 5 et Android 4 alphorm.com
Possible aussi de rajouter la photo dans la gallerie
-
Contrler directement lappareil photo Utiliser lobjet Camera, reprsentant lappareil photo
Lappareil photo doit tre ouvert en pensant au temps long
La fermeture doit tre envisage aussi
Possible de grer une pr-visualisation
Matriser Android 5 et Android 4 alphorm.com
Le paramtrage de lappareil photo est reprsent par Camera.Parameters
-
Ce quon a couvert Laccs lappareil photo
Rcuprer limage obtenue
Stocker limage dans un fichier
Contrler directement lappareil photo
Matriser Android 5 et Android 4 alphorm.com
Impossible d'afficher l'image. Votre ordinateur manque peut-tre de mmoire pour ouvrir l'image ou l'image est endommage. Redmarrez l'ordinateur, puis ouvrez nouveau le fichier. Si le x rouge est toujours affich, vous devrez peut-tre supprimer l'image avant de la rinsrer.
-
Enregistrer des vidos
Grer le multimdia
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Enregistrer des vidos
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Les permissions ncessaires
Lenregistrement dune vido
Visualiser la vido
Matriser Android 5 et Android 4 alphorm.com
-
Les permissions ncessaires Dans le manifest,
Demander android.hardware.camera2
Exigence ou non de la vido pour lapplication
Si non, tester sa prsence avant
Matriser Android 5 et Android 4 alphorm.com
-
Lenregistrement dune vido Passer par une Intent
Le nom de lintent est MediaStore.ACTION_VIDEO_CAPTURE
Lancer la vido
Matriser Android 5 et Android 4 alphorm.com
-
Visualiser la vido Avec un contrle VideoView
Accder au rsultat de lIntent
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Les permissions ncessaires
Lenregistrement dune vido
Visualiser la vido
Matriser Android 5 et Android 4 alphorm.com
-
Imprimer des documents
Grer le multimdia
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Imprimer des documents
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Les impressions sous Android
Imprimer une photo
Imprimer un document
Matriser Android 5 et Android 4 alphorm.com
-
Les impressions sous Android Google Cloud Print
Matriser Android 5 et Android 4 alphorm.com
Impression dans Google Drive possible
Impression en PDF
Certaines imprimantes conncectes
-
Imprimer une photo Utiliser PrintHelper
Positionner le layout avec setScaleMode
Matriser Android 5 et Android 4 alphorm.com
-
Imprimer un document Crer sa propre sous-classe de PrintDocumentHelper et invoquer ce
code
Matriser Android 5 et Android 4 alphorm.com
-
Imprimer un document Le format du document est compltement dfini dans votre classe
hritant de PrintDocumentHelper
Matriser Android 5 et Android 4 alphorm.com
Il faut implmenter 2 mthodes au moins
La mthode onLayout, qui rend le nombre de pages
La mthode onWrite, qui gre limpression elle-mme
-
Ce quon a couvert Les impressions sous Android
Imprimer une photo
Imprimer un document
Matriser Android 5 et Android 4 alphorm.com
-
Manipuler un document
XML et HTTP
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Manipuler un document XML
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Linterface XmlPullParser
Exemple de code utilisant XmlPullParser
Matriser Android 5 et Android 4 alphorm.com
-
Linterface XmlPullParser Permet le parcours dun document XML
La mthode next() retourne lvnement rencontr
La valeur XmlPullParser.END_DOCUMENT reprsente la fin du document
START_DOCUMENT / END_DOCUMENT
Matriser Android 5 et Android 4 alphorm.com
START_TAG / END_TAG
TEXT
La mthode nextToken() est plus bas niveau
-
Exemple de code Parcours du document en ragissant sur les vnements
Un buffer
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Linterface XmlPullParser
Exemple de code utilisant XmlPullParser
Matriser Android 5 et Android 4 alphorm.com
-
Se connecter avec HTTP
XML et HTTP
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Se connecter avec HTTP
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Le client HTTP
Lexcution asynchrone
Matriser Android 5 et Android 4 alphorm.com
-
Le client HTTP Pour accder au protocole HTTP
La classe HttpClient
Les requtes sont reprsentes par des classes
HttpGet, HttpPost, HttpPut
Matriser Android 5 et Android 4 alphorm.com
Ne pas oublier les permissions INTERNET
-
Lexcution asynchrone Ne pas bloquer le thread ihm par lattente de la rponse web
Utiliser AsyncTask
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Le client HTTP
Lexcution asynchrone
Matriser Android 5 et Android 4 alphorm.com
-
Solliciter un WebService
XML et HTTP
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Solliciter un WebServiceRESTful
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Dfinition des services REST
Lire une entit
Matriser Android 5 et Android 4 alphorm.com
-
Dfinition des services REST Les webservices sont soit bass sur SOAP, soient utilisent simplement le
protocole HTTP
Une service RESTful utilise les commandes HTTP
GET pour rcuprer une ressource
DELETE pour supprimer une ressource
Matriser Android 5 et Android 4 alphorm.com
DELETE pour supprimer une ressource
POST pour crer une ressource
PUT pour mettre jour une ressource
Les URL sont choisies pour identifier les ressources
-
Lire une entit Un objet peut tre reconstruit partir des donnes rcupres
Format XML
Format JSON
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Dfinition des services REST
Lire une entit
Matriser Android 5 et Android 4 alphorm.com
-
Rcuprer les infos de
Grer les infos utilisateur
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Rcuprer les infos de contacts
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Les permissions
La liste des contacts
Le chargement des donnes
Matriser Android 5 et Android 4 alphorm.com
-
Les permissions Modifier le manifest
Ajouter une balise pour accder aux contacts
Matriser Android 5 et Android 4 alphorm.com
-
La liste des contacts Une ListView dans le layout
Matriser Android 5 et Android 4 alphorm.com
Connexion entre liste et curseur
-
Le chargement des donnes Implmentation
Mthode de chargement
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Les permissions
La liste des contacts
Le chargement des donnes
Matriser Android 5 et Android 4 alphorm.com
-
Modifier les contacts par
Grer les infos utilisateur
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Modifier les contacts par les Intents
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Accder aux contacts via les Intents
Ajouter un contact dans la liste
Matriser Android 5 et Android 4 alphorm.com
-
Ajouter via les Intents Chercher lapplication qui insre dans les contacts
Matriser Android 5 et Android 4 alphorm.com
Possibilits de fournir des infos sur le contact en cours dinsertion
-
Ajouter, Editer Pour ajouter, dmarrer lactivit simplement aprs avoir fourni les
informations
Pour diter un contact spcifique, positionner setDataAndType()
En fournissant lURI sur le contact pralablement slectionn
Matriser Android 5 et Android 4 alphorm.com
Il existe une action qui laisse le choix lutilisateur
ACTION_INSERT_OR_EDIT
Lancer lintent correspondant
-
Ce quon a couvert Accder aux contacts via les Intents
Ajouter un contact dans la liste
Matriser Android 5 et Android 4 alphorm.com
-
Utiliser les localisations
Grer les infos utilisateur
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Utiliser les localisations
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Les permissions et les installations
Crer un GoogleApiClient
Ragir sur les callbacks
Matriser Android 5 et Android 4 alphorm.com
-
Les permissions et les installations Le plus simple est dutiliser les services Google
Installer par le DSK manager
Dclarer dans le script Gradle
Dclarer dans le manifest
Matriser Android 5 et Android 4 alphorm.com
Permissions
-
Crer un GoogleApiClient GoogleApiClient est un point dentre dans les divers services google
Positionner lors de la cration de cet objet les services attendus
Matriser Android 5 et Android 4 alphorm.com
-
Ragir sur les callbacks Lors de la connexion, les infos sont rcupres
La connexion doit tre dmarre et arrte
Matriser Android 5 et Android 4 alphorm.com
La callback exploite les donnes
-
Ce quon a couvert Les permissions et les installations
Crer un GoogleApiClient
Ragir sur les callbacks
Matriser Android 5 et Android 4 alphorm.com
-
Localisation et adresse
Grer les infos utilisateur
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Localisation et adresse
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Utilisation de Geocoder
Prparation dun receveur
Lancement dun service
Matriser Android 5 et Android 4 alphorm.com
-
Utilisation dun Geocoder Classe android.location.Geocoder
Rcupre des noms de localisation partir de coordonnes
Matriser Android 5 et Android 4 alphorm.com
-
Prparation dun receveur Un receveur est une classe dont les mthodes seront rappeles
Il faudra mettre jour lihm dans le thread UI
Matriser Android 5 et Android 4 alphorm.com
-
Lancement dun service Un service fonctionne en arrire-plan Idal pour la connexion la
rcupration des noms dadresses
Matriser Android 5 et Android 4 alphorm.com
-
Lancement dun service Utiliser startService()
Matriser Android 5 et Android 4 alphorm.com
Dclarer le service dans le manifest
-
Accder au thread UI partir dun autre Il est interdit de modifier lihm partir dun autre thread
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Utilisation de Geocoder
Prparation dun receiver
Lancement dun service
Matriser Android 5 et Android 4 alphorm.com
-
Crer des notifications
Android wear
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Crer des notifications
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Prparation pour des notifications
Lancer une notification
Matriser Android 5 et Android 4 alphorm.com
-
Prparations pour des notifications Modifier le script Gradle
Rajouter la dpendance la bibliothque v4-support
Matriser Android 5 et Android 4 alphorm.com
-
Lancer une notification Lancement de la notification la fois sur lappareil principal et la montre
connecte
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Prparation pour des notifications
Lancer une notification
Matriser Android 5 et Android 4 alphorm.com
-
Crer une application
Android wear
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Crer une application wearable
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Prrequis
Excution dans un AVD spcifique
Matriser Android 5 et Android 4 alphorm.com
-
Prrequis Une application wearable tourne sur lappareil connect, mais
indpendamment du mobile
Mais il faut une application mobile pour installer lapplication wearablesur la montre connecte
Mises jour ncessaires
Matriser Android 5 et Android 4 alphorm.com
Les SDK Tools ne version 23 mini
SDK Android mini API20
Un AVD Wear
Crer un projet Mobile+Wear, soit 2 activits
-
Excution dans un AVD spcifique Dans un AVD adapt
Lancement de lactivit par dfaut
Description du layout trs semblable aux applications mobiles
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Prrequis
Excution dans un AVD spcifique
Matriser Android 5 et Android 4 alphorm.com
-
Echanger des donnes
Android wear
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Echanger des donnes
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Le client GoogleAPI
Rceptionner des donnes
Emettre des donnes
Matriser Android 5 et Android 4 alphorm.com
-
Le client GoogleAPI Crer un client GoogleAPI
Api Wearable
Possibilit dchanger des donnes
Ou simplement un message
Matriser Android 5 et Android 4 alphorm.com
-
Rceptionner les donnes Soit faire un service qui gre la rception
Soit crer une classe implmentant DataListener
Matriser Android 5 et Android 4 alphorm.com
-
Emettre des donnes Construire une map cl/valeur
Emettre les donnes avec DataApi
Ou bien un message avec MessageApi
Matriser Android 5 et Android 4 alphorm.com
-
Ce quon a couvert Le client GoogleAPI
Rceptionner des donnes
Emettre des donnes
Matriser Android 5 et Android 4 alphorm.com
-
Android 5
Conclusion
Matriser Android 5 et Android 4 alphorm.com
Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum
Android 5
Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels
-
Plan Gnralits
Utiliser lenvironnement
Raliser une application
Les interfaces utilisateur
Stocker les informations
Grer le multimdia
XML et HTTP
Grer les infos utilisateur
Matriser Android 5 et Android 4 alphorm.com
Faire des tests
Montiser lapplication
Android Wear
-
Pour continuer La formation Android avance
Les interactions client-serveur
Mise en uvre dtaille de Android Wear
Mise en uvre des services Google
Matriser Android 5 et Android 4 alphorm.com
-
Merci davoir suivi cette formation,
Matriser Android 5 et Android 4 alphorm.com
rendez-vous pour la suite !