Développez vos applications mobiles Android en toute sérénité
A la fin de cette aurez capable de :
- Être autonome dans la programmation Android,
- Maîtriser les éléments du système (Activité, Service, Content Provider,…),
- Découvrir la plateforme Android et les outils de développement associés,
- Mettre en ligne sur le Play Store de Google
Suivez la formation vidéo par ici :
https://www.smartnskilled.com/tutoriel/formation-en-ligne-maitriser-les-fondamentaux-dandroid-4-1
Support formation vidéo : Maîtriser les fondamentaux d'Android 4.1
1. Formation Android 4.1 – Les fondamentaux
Introduction à l’univers Android
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
2. Formation Android 4.1 – Les fondamentaux
Histoire d’Android
2003 : Naissance du projet Android
2005 : Racheté par Google
Janvier 2007 : Annonce de l’iPhone
Novembre 2007 : Création de l’Open Handset Alliance
Fin 2010 : Android devient l’OS mobile le plus utilisé au monde
3. Formation Android 4.1 – Les fondamentaux
Philosophie et avantages d’Android
Open Source
Gratuit (ou presque)
Facile à développer
Facile à vendre
Flexible
3/4 du marché des smartphones
4. Formation Android 4.1 – Les fondamentaux
Parts de marché des OS mobiles
1eme trimestre 2012 :
Android : 59,1 %
iOS : 22,9 %
BlackBerry OS : 6,3 %
Windows Phone : 2,1 %
Autres : 9,6 %
3eme trimestre 2016 :
Android : 87,8 %
iOS : 11,5 %
BlackBerry OS : 0,1 %
Windows Phone : 0,4 %
Autres : 0,2 %
5. Formation Android 4.1 – Les fondamentaux
Android dans le temps
Android 1.O et 1.1
Android 1.5 (CupCake)
Android 1.6 (Donut)
Android 2.0 et 2.1 (Eclair)
Android 2.2 et 2.3 (Froyo et Gingerbread)
Android 3.0 (Honeycomb)
Android 4.0 (Ice Cream Sandwich)
Android 4.1, 4.2, 4.3 et 4.4 (Jelly Bean / KitKat)
Android 5.0, 5.0.1, 5.0.2 et 5.1 (Lollipop)
Android 6.0 (Marshmallow)
Android 7.0 (Nougat)
6. Formation Android 4.1 – Les fondamentaux
Conditions initiales
Pour tout le monde :
2 Go de mémoire RAM (idéalement plus de 8 Go)
Plus de 1,5 Go d'espace disque
Niveau processeur, l'émulation ne peut se faire que sur 1 cœur de votre
processeur, donc augmenter le nombre de cœurs ne vous servira pas à
grand-chose. C'est vraiment la puissance pure qui compte. Il n'y a donc pas
de minima mais le plus rapide sera le mieux
Spécificités par OS
Windows : Vista ou plus récent
Mac OS : Mac OS 10.8.5 ou plus récent
Linux : bibliothèque GNU C (glibc) version 2.15 ou plus récent
7. Formation Android 4.1 – Les fondamentaux
Installation des outils
Java Development Kit (JDK)
Environnement de développement Android Studio
Téléchargement des API et outils grâce au SDK
8. Formation Android 4.1 – Les fondamentaux
Configuration du terminal
Sous Windows
Soit télécharger les drivers du terminal sur le site du constructeur :
Liste des sites : https://developer.android.com/studio/run/oem-
usb.html#Drivers
Soit utiliser un pilote générique :
android-sdkextrasgoogleusb_driver
Sous Mac OS
Rien à faire :-)
Sous Linux
Ajouter au gestionnaire de périphériques une règle spécifique par appareil
relié
9. Formation Android 4.1 – Les fondamentaux
Configuration du téléphone
Par étapes :
1.Accéder aux paramètres du téléphone
2.Aller dans « sécurité »
3.Activer « sources inconnues »
4.Retourner au menu principal des paramètres du téléphone
5.Aller dans « à propos du téléphone »
6.Tout en bas, appuyer 7 fois sur « numéro de build »
7.Retourner à nouveau dans le menu principal des paramètres du téléphone
8.Aller dans la nouvelle catégorie « options pour les développeurs »
9.Activer le « débogage USB »
10. Formation Android 4.1 – Les fondamentaux
Environnement de développement
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
11. Formation Android 4.1 – Les fondamentaux
Création d’un projet
Premier écran
Application Name :
Nom qui apparaîtra sur l'appareil et sur Google Play
Company Domain :
Identifiant de l’application (ne peut être changé une fois l’app publiée)
Project Location :
Emplacement où les fichiers du projet seront créés
Deuxième écran
Sélection de l’API
Troisième écran
Création de la première Activity
Dernier écran
Informations sur la première activité de notre application
12. Formation Android 4.1 – Les fondamentaux
Composition d’un projet Android
Dossier « java »
Dossier « res » (ressources)
layout
drawable
values
Config :
AndroidManifest.xml
build.gradle
20. Formation Android 4.1 – Les fondamentaux
Android Virtual Device Manager
AVD Manager permet d’émuler des devices Android
Il est possible de choisir des modèles existants ou de créer son propre modèle
22. Formation Android 4.1 – Les fondamentaux
Les Layouts
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
23. Formation Android 4.1 – Les fondamentaux
Différents types de Layout
LinearLayout
Layout avec orientation unique (horizontal et vertical)
RelativeLayout
Layout avec positionnement des éléments
GridLayout
Position des éléments dans un tableau
FrameLayout
Elément unique
CoordinatorLayout
Layout avec dépendance entre les éléments
ConstraintLayout
Équivalent au RelativeLayout mais plus flexible et plus simple
29. Formation Android 4.1 – Les fondamentaux
Les éléments dans un layout
TextView
EditText
Button
RadioButton
CheckBox
AutoCompleteTextView
et beaucoup d’autres…
33. Formation Android 4.1 – Les fondamentaux
Les attributs des éléments de layout
Id
Width / Height
WeightSum et Weight
Margin / Padding
Gravity
Visibility
Src
Text
Color
etc…
34. Formation Android 4.1 – Les fondamentaux
Id
Définir un id permet d’utiliser un élément depuis un Layout ou
depuis une classe Java
Un id se défini de cette manière : @+id/nom_id
Exemple avec la création d’une TextView qui a pour id textview_hello :
Dans la classe Java, on récupère notre TextView grâce à son id :
On peut ensuite utiliser cette TextView pour changer son texte par exemple :
35. Formation Android 4.1 – Les fondamentaux
Widht / Height
Les attributs widht et
height définissent la
longueur et largeur d’un
élément
Il y a plusieurs possibilités :
match_parent : prend toute
la taille du layout parent
wrap_content : prend toute
la taille du contenu de
l’élément
taille fixe (en dp / px / in /
mm / pt)
38. Formation Android 4.1 – Les fondamentaux
Include
Les include permettent d’insérer le contenu d’un Layout dans un
autre Layout.
Il est possible de donner un id à son include
Il est aussi possible de définir la longueur et la largeur d’un include
39. Formation Android 4.1 – Les fondamentaux
Exercice : les Layouts
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
40. Formation Android 4.1 – Les fondamentaux
Le but de l’exercice
Comprendre comment fonctionnent les Layouts : Relative et Linear
Réussir à positionner des éléments dans des Layouts
Compiler une app sur Android
Réussir à lancer son app depuis un émulateur ou un smartphone
41. Formation Android 4.1 – Les fondamentaux
Énoncé
Réaliser le même Layout qu’à gauche :
- Il doit être divisé en 2 parties de
tailles égales
- La partie du haut doit contenir le
texte « BONJOUR » centré au milieu de
cette partie.
- La partie du haut doit avoir une
couleur de fond au choix.
- La partie du bas doit contenir 3
boutons (« BOUTON 1 », « BOUTON 2 »
et « BOUTON 3 »). Ces boutons doivent
être centrés au milieu de cette
partie.
42. Formation Android 4.1 – Les fondamentaux
Les Chaînes de caractère
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
51. Formation Android 4.1 – Les fondamentaux
Cycle de vie d’une activité
onCreate
méthode d'initialisation des vues, des paramètres et autres données.
onStart
appelée quand l'activité est rendue visible à l'utilisateur.
onRestart
appelée à un nouveau démarrage de la même activité (quand l'activité était arrêtée)
onResume
appelée quand l'activité commence à interagir avec l'utilisateur.
onPause
méthode qui sert à arrêter une activité temporairement.
onStop
appelée quand l'activité n'est plus visible à l'utilisateur, soit à cause d'une nouvelle
activité lancée, soit parce que l'activité en cours s'apprête à être détruite.
onDestroy
est invoquée quand l'activité est détruite par la méthode finish() ou quand le système
décide de tuer l'activité pour économiser de l'espace.
54. Formation Android 4.1 – Les fondamentaux
Context
Référence à des ressources gérées par l'application, des informations
sur le système et accès à des services d'Android.
Est employé pour lancer une nouvelle activité, réceptionner les
intentions ou écouter les événements. Exemples :
création de nouveaux objets (TextView, Adapter...)
accès à des ressources (String, Array...)
accès implicite à des components, par
exemple getContext().getContentResolver()
Comment récupérer le contexte ?
getApplicationContext()
getContext()
getBaseContext()
this (disponible uniquement depuis une activité)
55. Formation Android 4.1 – Les fondamentaux
Intent
Permet de naviguer entre les écrans (d’une Activity à une autre)
On distingue deux types d'intention :
explicite : on spécifie le nom de l’activité à invoquer.
implicite : on ne sait pas quelle activité doit être invoquée : Android se
charge de trouver l'activité adéquate à lancer (exemple : pour un site web, il
va lancer un des navigateurs disponibles).
Passage de MainActivity() à NextActivity() :
56. Formation Android 4.1 – Les fondamentaux
Bundle
Envoyer un extra de type int à une autre Activity :
Recevoir un int dans l’autre Activity :
Le Bundle est une instance de classe passée en paramètre dans
la méthode onCreate().
Cette classe est une sorte de conteneur pour les données
transmissibles d'une activité à l'autre. Elle permet de récupérer
tout type de données :
String, long, char, ArrayList, etc…
57. Formation Android 4.1 – Les fondamentaux
Un exemple c’est toujours mieux :)
MainActivity.java :
NextActivity.java :
Structure du projet :
58. Formation Android 4.1 – Les fondamentaux
Les Activity : exercice
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
59. Formation Android 4.1 – Les fondamentaux
Le but de l’exercice
Comprendre comment fonctionnent les Activity
Savoir passer d’une Activity à une autre
Passer des paramètres à une Activity à une autre
60. Formation Android 4.1 – Les fondamentaux
Énoncé
Réaliser une application qui contient 2 Activity.
Il doit y avoir un log sur chaque cycles de l’Activity principale :
• onCreate
• onStop
• onStart
• etc…
La première Activity doit proposer à l’utilisateur de rentrer son login et mot
de passe.
Il pourra ensuite cliquer sur un bouton de validation qui lance la seconde
Activity.
Dans cette seconde Activity, une TextView doit afficher son login.
62. Formation Android 4.1 – Les fondamentaux
Intent implicite
Un Intent implicite permet de laisser le soin à Android de chercher
l’app la plus adaptée pour notre action.
Par exemple :
Ouvrir un URL
Envoyer un SMS
Partager quelque chose
Écouter une musique
Scanner un code-bar
Etc.
63. Formation Android 4.1 – Les fondamentaux
Uniform Resource Identifier (URI)
Une URI est une chaîne de caractère respectant une norme et permettant d’identifier une
ressource sur un réseau de manière permanente, même si cette ressource est déplacée ou
supprimée. L’URL est une URI pour les ressources disponibles sur Internet, au même titre
que l’ISBN est une URI pour les livres puisqu’il s’agit de l’identifiant unique d’un livre.
64. Formation Android 4.1 – Les fondamentaux
Exemples URI
ftp://ftp.is.co.za/rfc/rfc1808.txt [archive] : protocole FTP pour le service File Transfer Protocol
http://www.math.uio.no/faq/compression-faq/part1.html [archive] : protocole HTTP pour le
service Hypertext Transfer Protocol
mailto:mduerst@ifi.unizh.ch [archive] : protocole mailto pour les adresses électroniques
news:comp.infosystems.www.servers.unix [archive] : protocole news pour les newsgroups Usenet
telnet://melvyl.ucop.edu/ [archive] : protocole telnet pour les services interactifs via telnet
irc://irc.freenode.net/ubuntu-fr [archive] : protocole IRC pour le service Internet Relay Chat
ssh://utilisateur@example.com [archive] : protocole SSH pour le service Secure shell
sftp://utilisateur@example.com [archive] : protocole SFTP pour le service SSH file transfer protocol
http://example.org/URI/absolu/avec/chemin/absolu/vers/une/ressource [archive]
/URI/relatif/avec/chemin/absolu/vers/une/ressource
chemin/relatif/vers/une/ressource
../../../ressource
./ressource#fragment
ressource
#fragment
75. Formation Android 4.1 – Les fondamentaux
Les Fragments : exercice
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
76. Formation Android 4.1 – Les fondamentaux
Le but de l’exercice
Comprendre comment fonctionnent les Fragments
Passer d’un fragment à un autre
77. Formation Android 4.1 – Les fondamentaux
Énoncé
Réaliser la même app qu’à gauche :
- Il faut une Activity qui contient
quatre boutons :
1. HOME
2. NEWS
3. ABOUT
4. SETTINGS
- Mais aussi 4 Fragments correspondants
chacun aux 4 boutons du haut
- Chaque bouton doit rediriger vers le
fragment qui porte son nom
- Il faut qu’au lancement de l’app, le
fragment « HOME » se charge.
- Il est préférable de mettre des
couleurs et du texte dans les
fragments
78. Formation Android 4.1 – Les fondamentaux
Les ListView
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
89. Formation Android 4.1 – Les fondamentaux
Les ListView : exercice
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
90. Formation Android 4.1 – Les fondamentaux
Le but de l’exercice
Utiliser les ListView
Créer son propre Adapter pour sa ListView
91. Formation Android 4.1 – Les fondamentaux
Énoncé
Parce qu’on aime les loutres, créez une app qui affiche la
liste des types de loutres.
• lors d’un click sur un item, il faut afficher dans un
Toast le nom de la Loutre
• lors d’un click sur l’icône d’information, il faut
afficher la date de découverte de cette loutre
Si vous souhaitez aller plus loin :
• vous pouvez ajouter l’image de la loutre dans cette liste
• Vous pouvez ajouter un bouton play qui jouera le son si
particulier de la loutre sélectionnée.
Bon courage et honneur aux loutres !
92. Formation Android 4.1 – Les fondamentaux
Les RecyclerView
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
94. Formation Android 4.1 – Les fondamentaux
RecyclerView > ListView ?
Dans une ListView, il y aura autant de vues créées que d’items…
C’est lourd !
Dans une RecyclerView, il y aura autant de vues créées que d’items
visibles à l’écran. Lorsque que l’on fait défiler les vues et que l’une
d’entre elles disparaît, elle est “recyclée” pour être réutilisée.
Il est possible de choisir son LayoutManager avec les RecyclerView :
LinearLayoutManager
GridLayoutManager
95. Formation Android 4.1 – Les fondamentaux
Librairie de compatibilité
Ajouter la lib support pour le RecyclerView dans le Gradle :
96. Formation Android 4.1 – Les fondamentaux
OnItemClickListener et RecyclerView
Par défaut, il n’existe pas de OnItemClickListener avec les
RecyclerView. Cependant, il y a deux possibilités pour mettre en
place la gestion du click sur les items de notre liste :
Ajouter un setOnClickListener sur chaque élément de notre adapter
Implémenter un RecyclerView.OnItemTouchListener et le lier à notre
RecyclerView
97. Formation Android 4.1 – Les fondamentaux
Exemple avec setOnClickListener
RecyclerView : 1er exemple :
Réagira au click sur les TextView et ImageView
La réaction au click se fait depuis l’Adapter
103. Formation Android 4.1 – Les fondamentaux
Exemple avec son propre ItemTouchListener
RecyclerView : 2ème exemple :
L’item réagira au click :
onItemClick
onLongItemClick
110. Formation Android 4.1 – Les fondamentaux
Les RecyclerView : exercice
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
111. Formation Android 4.1 – Les fondamentaux
Le but de l’exercice
Utiliser les RecyclerView
Connaître les différentes méthodes pour réagir au click sur un
élément de la RecyclerView
112. Formation Android 4.1 – Les fondamentaux
Énoncé
Se baser sur la même Recycler et le même objet pour faire 2 Activity:
1) La première doit réagir au click avec un Custom Listener
2) La deuxième doit réagir au click avec un setOnClickListener sur les
éléments (textView, Image, etc)
113. Formation Android 4.1 – Les fondamentaux
Les SharedPreferences
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
114. Formation Android 4.1 – Les fondamentaux
SharedPreferences : stockage en local
Stocker une préférence :
Récupérer une préférence :
115. Formation Android 4.1 – Les fondamentaux
Différents modes d’accessibilité
Context.MODE_PRIVATE
pour que le fichier créé ne soit accessible que par l'application qui l'a créée.
Context.MODE_WORLD_READABLE
pour que le fichier créé puisse être lu par n'importe quelle application.
Context.MODE_WORLD_WRITEABLE
pour que le fichier créé puisse être lu et modifié par n'importe quelle
application.
116. Formation Android 4.1 – Les fondamentaux
Attention
Les préférences partagées ne fonctionnent qu'avec les objets de type :
boolean
float
int
long
String.
118. Formation Android 4.1 – Les fondamentaux
SQLite ?
Bibliothèque écrite en C qui propose un moteur de base de
données accessible par le langage SQL (standard SQL-92).
SQLite est directement intégrée aux programmes
Première version de SQLite en août 2000
SQLite a un modèle de type embarqué contrairement à MySQL ou PostgreSQL
qui ont des modèles de type client serveur.
119. Formation Android 4.1 – Les fondamentaux
Types de données dans SQLite
INTEGER : pour les entiers (sans virgule)
INT, INTEGER, TINYINT, SMALLINT, MEDIUMINT, BIGINT, UNSIGNED BIG INT, INT2,
INT8
REAL : pour les nombres réels (avec virgule)
REAL, DOUBLE, DOUBLE PRECISION, FLOAT
TEXT : pour les chaînes de caractères
CHARACTER(20), VARCHAR(255), VARYING CHARACTER(255), NCHAR(55),
NATIVE CHARACTER(70), NVARCHAR(100), TEXT, CLOB
NUMERIC : pour les données numériques
NUMERIC, DECIMAL(10,5), BOOLEAN, DATE, DATETIME
BLOB : pour les données brutes (par exemple : images, etc)
BLOB (pas de datatype)
NULL : pour les données NULL
120. Formation Android 4.1 – Les fondamentaux
Syntaxe SQLite
CREATE TABLE nom_de_la_table (
nom_du_champ_1 type {contraintes},
nom_du_champ_2 type {contraintes},
…);
Pour chaque attribut, on doit déclarer au moins
2 informations :
- son nom
- son type de donnée
Il est possible de déclarer des contraintes pour chaque attribut à l'emplacement
de {contraintes}. On trouve comme contraintes :
- PRIMARY KEY pour désigner la clé primaire sur un attribut
- NOT NULL pour indiquer que cet attribut ne peut valoir NULL
- CHECK afin de vérifier que la valeur de cet attribut est cohérente
- DEFAULT sert à préciser une valeur par défaut
121. Formation Android 4.1 – Les fondamentaux
Créer ou ouvrir une base de données
Créer une base de données SQLite sur Android c’est simple :
122. Formation Android 4.1 – Les fondamentaux
Créer une table avec execSQL
Créer une table aussi :
124. Formation Android 4.1 – Les fondamentaux
Paramètres de la méthode query()
Paramètre Commentaire
String dbName Nom de la table
String[] columnNames
Liste des colonnes à retourner.
Toutes les colonnes seront retournées avec en passant null.
String whereClause
Clause where : filtre pour la sélection des données.
Toutes les données seront sélectionnées en passant null.
String[] selectionArgs
Si vous incluez des ? dans la whereClause, ils seront remplacés par
les valeurs du tableau selectionArgs.
String[] groupBy
Filtre qui déclare comment regrouper les lignes.
Les lignes ne seront pas groupées en passant null.
String[] having
Filtre pour les groupes.
Pas de filtrage en passant null.
String[] orderBy
Colonnes de la table utilisées pour ordonner les données.
Les données ne seront pas ordonnées en passant null.
125. Formation Android 4.1 – Les fondamentaux
Utilisation de SQLite
1. Création d’une base de données de type SQLiteDatabase
2. Création d’une table
3. INSERT afin d’ajouter un champ dans une table
4. SELECT sur un champ particulier d’une table afin de la stocker dans un Cursor
5. SELECT sur tous les champs d’une table afin de les stocker dans une StringBuilder
127. Formation Android 4.1 – Les fondamentaux
Le but de l’exercice
Savoir utiliser SQLite
Créer et manipuler une base de données
128. Formation Android 4.1 – Les fondamentaux
Énoncé
Créer une application capable de sauvegarder ses impressions sur des films.
Ces commentaires doivent être stockés sur une base de données SQLite.
La BDD doit se nommer « movie_db »
Voici donc les champs de la table « my_movies » :
- id
- name
- comment
L’utilisateur de l’app doit pouvoir :
- ajouter un film
- supprimer un film
- modifier un film
- voir le commentaire d’un film en particulier
- voir tous les commentaires de chaque films dans une liste
130. Formation Android 4.1 – Les fondamentaux
Un BroadcastReceiver, c’est quoi ?
Un BoadcastReceiver est une sorte de notification permettant de prévenir
d’un événement à une ou plusieurs applications.
Il est possible d’utiliser des BroadscastReceiver système mais aussi de
diffuser les nôtres à tout le système et de manière anonyme.
131. Formation Android 4.1 – Les fondamentaux
Quelques exemples de BroadcastReceiver
android.intent.action.BATTERY_LOW
La batterie est faible
android.intent.action.BOOT_COMPLETED
La system a terminé de booter
android.intent.action.CALL
Pour faire un call à quelque chose spécifié par les datas
android.intent.action.DATE_CHANGED
La date a changé
android.intent.action.REBOOT :
La device a rebooté
android.net.conn.CONNECTIVITY_CHANGE
La réseau mobile ou la connection WiFi a changé
135. Formation Android 4.1 – Les fondamentaux
Recevoir un Broadcast ?
Il est possible très simplement de recevoir un Broadcast système
Dans l’exemple qui va suivre, nous allons recevoir le passage en
mode avion
141. Formation Android 4.1 – Les fondamentaux
Les services
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
142. Formation Android 4.1 – Les fondamentaux
Les services, c’est quoi ?
Un service est nécessaire lorsque votre application souhaite effectuer
des opérations ou des calculs en dehors de l'interaction utilisateur.
Exemple : écouter de la musique en lisant ses mails est possible grâce
aux services.
Un service ne dispose pas d'interface graphique
Un service n'a pas de durée définie, il est là pour exécuter sa tâche et
il fonctionnera tant que c'est nécessaire.
143. Formation Android 4.1 – Les fondamentaux
Types de services
Il existe deux types de services :
LocalService
services qui s'exécutent dans le même processus que votre application
RemoteService
ils s'exécutent dans des processus indépendants de votre application
144. Formation Android 4.1 – Les fondamentaux
Cycle de vie d’un service
Unbounded service = Service local
Bounded service = Service distant
164. Formation Android 4.1 – Les fondamentaux
Les librairies : exercice
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
165. Formation Android 4.1 – Les fondamentaux
But de l’exercice
Savoir chercher la librairie qui nous convient
Réussir à ajouter une librairie à notre projet
Savoir lire la documentation d’une librairie
Utiliser une librairie
166. Formation Android 4.1 – Les fondamentaux
Énoncé
Réaliser la même app qu’à gauche :
- Il faut une lib capable de charger une image
depuis une URL. Pour cela :
- Trouver une lib capable de cela
- Lire la doc et l’utiliser
- Si vous souhaitez aller plus loin, vous pouvez
utiliser une lib qui arrondi l’image (ou autre).
- Si vous souhaitez aller encore plus loin, vous
pouvez imaginer une EditText qui demande l’URL de
l’image et l’affiche après un click sur un
bouton.
N’oubliez pas de donner la permission à votre app d’accéder à internet :
À mettre dans le AndroidManifest.xml, dans la balise <manifest>
et juste avant la balise <application>.
167. Formation Android 4.1 – Les fondamentaux
Les notifications utilisateur
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
171. Formation Android 4.1 – Les fondamentaux
Les permissions
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
172. Formation Android 4.1 – Les fondamentaux
Déclarer une permissions
Si la permission touche à la vie privée de l’utilisateur, une popup demandera à
l’utilisateur de vous donner la permission.
Si la permission ne concerne pas la vie privée de l’utilisateur, elle sera
automatiquement donnée.
173. Formation Android 4.1 – Les fondamentaux
Android 6 et les permissions
À partir d’Android 6 (API 23) l’utilisateur donne les permissions au
moment ou l’application utilise la fonctionnalité cible.
Par exemple, un utilisateur peux donner accès au GPS à une application mais
refuser de donner l’accès à la liste des contacts.
L’utilisateur peux aussi autoriser / supprimer des permissions dans l’écran dédié à
cet effet dans les paramètres.
174. Formation Android 4.1 – Les fondamentaux
Quelques conseils
Ne demander une permission que si elle est nécessaire
Expliquer à l’utilisateur pourquoi votre application nécessite cette
permission
Ne pas harceler l’utilisateur pour qu’il vous donne la permission
Accepter la décision de l’utilisateur
175. Formation Android 4.1 – Les fondamentaux
Vérifier une permission
À chaque utilisation d’une fonctionnalité nécessitant une
permission, il faut vérifier si la permission est donnée ou non
Pour cela, on utilise la méthode checkSelfPermission qui nous
renvoit :
PackageManager.PERMISSION_GRANTED lorsqu’on a la permission
PackageManager.PERMISSION_DENIED lorsqu’on n’a pas la permission
176. Formation Android 4.1 – Les fondamentaux
Vérifier si la permission a déjà été demandée
La méthode shouldShowRequestPermissionRationale permet de savoir si la permission à
déjà été demandée à l’utilisateur.
Si oui, mieux vaux ne pas redemander la permission à l’utilisateur.
Sinon, vous pouvez demander la permission à l’aide de la méthode requestPermissions.
177. Formation Android 4.1 – Les fondamentaux
onRequestPermissionResult
Une fois la permission demandée, le résultat de la demande sera retourné dans
la méthode onRequestPermissionsResult (à surcharger).
178. Formation Android 4.1 – Les fondamentaux
Publier son application sur le Play Store
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
179. Formation Android 4.1 – Les fondamentaux
Créer une application
Accédez à la console Play.
Sélectionnez Toutes les applications All applications > Créer une
application.
Dans le menu déroulant, sélectionnez une langue par défaut.
Ensuite, ajoutez un titre à votre application. Saisissez le nom de
votre application tel que vous souhaitez qu'il s'affiche sur Google
Play.
Créez la fiche Play Store de votre application, complétez le
questionnaire sur la classification du contenu, puis définissez les
tarifs et la disponibilité.
180. Formation Android 4.1 – Les fondamentaux
Préparer la version de production, alpha ou bêta de votre application
Pour préparer la version de production, alpha ou bêta de votre
application, vous pouvez préparer et déployer des versions selon un
niveau de sortie particulier.
Une version est une combinaison d'un ou de plusieurs artefacts de
build que vous préparez avant de déployer une application ou la
mise à jour d'une application auprès des utilisateurs.
181. Formation Android 4.1 – Les fondamentaux
Gérer les fichiers APK
Rechercher des fichiers APK
Taille des fichiers APK
Signer votre application
Spécifications relatives aux versions des fichiers APK pour la
console Play
182. Formation Android 4.1 – Les fondamentaux
Configurer une fiche Play Store
Informations sur le produit
Éléments graphiques
Langues et traductions
Catégorisation
Coordonnées
Règles de confidentialité
183. Formation Android 4.1 – Les fondamentaux
Étapes suivantes
Remplir le questionnaire relatif à la classification du contenu
correspondant à l'application
Découvrir comment distribuer votre application dans d'autres pays
et dans le cadre d'autres programmes
Android Publier l'application à l'aide de la publication standard ou
planifiée
Effectuer des tests pour optimiser votre fiche Play Store