Maîtrisez le nouveau langage Kotlin pour vos applications Android.
Cette formation vidéo va vous permettre de :
- Utiliser les nouvelles fonctionnalités de Kotlin pour écrire un code orienté objet structuré et lisible,
- Découvrir comment utiliser les lambdas et les fonctions avancées pour écrire un code propre, réutilisable et simple,
- Écrire des tests unitaires sous Kotlin avec un code Java vous permettant de faire la transition en douceur,
- Écrire du code Kotlin en qualité production en mode micro-services,
- Utiliser les extensions de Kotlin dans la bibliothèque de collections Java,
- Développer vos applications mobiles Android sous Kotlin.
Découvrez la formation vidéo par ici : https://www.smartnskilled.com/tutoriel/formation-en-ligne-android-kotlin-developpez-des-applications-mobiles
Saint Georges, martyr, et la lègend du dragon.pptx
Support formation vidéo: Android Kotlin : développez des applications mobiles
1. Formation Programmer des applications mobiles avec Kotlin
Introduction à l’univers d’Android
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
2. Formation Programmer des applications mobiles avec Kotlin
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 Programmer des applications mobiles avec Kotlin
Philosophie et avantages d’Android
Open Source
Gratuit (ou presque)
Facile à développer
Facile à vendre
Flexible
3/4 du marché des smartphones
4. Formation Programmer des applications mobiles avec Kotlin
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 Programmer des applications mobiles avec Kotlin
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)
Android 8.0 (O)
6. Formation Programmer des applications mobiles avec Kotlin
Conditions initiales
Pour tout le monde :
4 Go de mémoire RAM (idéalement plus de 8 Go)
Plus de 3 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 Programmer des applications mobiles avec Kotlin
Installation des outils
Seulement 2 choses :
Java Development Kit (JDK)
Environnement de développement Android Studio 3
8. Formation Programmer des applications mobiles avec Kotlin
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 Programmer des applications mobiles avec Kotlin
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 Programmer des applications mobiles avec Kotlin
Kotlin VS Java
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
11. Formation Programmer des applications mobiles avec Kotlin
Qu’est-ce que Kotlin ?
• Kotlin est un langage de programmation orienté objet et fonctionnel, avec un
typage statique qui permet de compiler pour la Machine virtuelle Java et JavaScript
• Kotlin ne nécessite en aucun cas de réécrire l’ensemble des applications
• Kotlin est également un langage robuste et éprouvé
12. Formation Programmer des applications mobiles avec Kotlin
Qu’offre Kotlin ?
• langage plus riche
• Flexible
• Concis
13. Formation Programmer des applications mobiles avec Kotlin
Quel avenir pour Java et C/C++ sur Android ?
• Le support de Java, C et C++ sera le même qu’aujourd’hui
• Kotlin est simplement un nouveau langage supporté.
23. Formation Programmer des applications mobiles avec Kotlin
Environnement de développement
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
24. Formation Programmer des applications mobiles avec Kotlin
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
25. Formation Programmer des applications mobiles avec Kotlin
Composition d’un projet Android
Dossier « java »
Dossier « res » (ressources)
layout
drawable
values
Config :
AndroidManifest.xml
build.gradle
33. Formation Programmer des applications mobiles avec Kotlin
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
35. Formation Programmer des applications mobiles avec Kotlin
Les Layouts
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
36. Formation Programmer des applications mobiles avec Kotlin
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
42. Formation Programmer des applications mobiles avec Kotlin
Les éléments dans un layout
TextView
EditText
Button
RadioButton
CheckBox
AutoCompleteTextView
et beaucoup d’autres…
46. Formation Programmer des applications mobiles avec Kotlin
Les attributs des éléments de layout
Id
Width / Height
WeightSum et Weight
Margin / Padding
Gravity
Visibility
Src
Text
Color
etc…
47. Formation Programmer des applications mobiles avec Kotlin
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 :
En Java, on devait récupérer notre TextView grâce à son id pour
ensuite l’utiliser pour changer son texte par exemple :
En Kotlin, on a qu’à faire :
48. Formation Programmer des applications mobiles avec Kotlin
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)
51. Formation Programmer des applications mobiles avec Kotlin
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
52. Formation Programmer des applications mobiles avec Kotlin
Exercice : les Layouts
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
53. Formation Programmer des applications mobiles avec Kotlin
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
54. Formation Programmer des applications mobiles avec Kotlin
É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.
55. Formation Programmer des applications mobiles avec Kotlin
Les Chaînes de caractère
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
64. Formation Programmer des applications mobiles avec Kotlin
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.
67. Formation Programmer des applications mobiles avec Kotlin
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é)
68. Formation Programmer des applications mobiles avec Kotlin
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() :
69. Formation Programmer des applications mobiles avec Kotlin
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…
70. Formation Programmer des applications mobiles avec Kotlin
Un exemple c’est toujours mieux :)
MainActivity.java :
NextActivity.java :
Structure du projet :
71. Formation Programmer des applications mobiles avec Kotlin
Les Activity : exercice
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
72. Formation Programmer des applications mobiles avec Kotlin
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
73. Formation Programmer des applications mobiles avec Kotlin
É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.
74. Formation Programmer des applications mobiles avec Kotlin
Les Intents Implicites
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
75. Formation Programmer des applications mobiles avec Kotlin
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.
76. Formation Programmer des applications mobiles avec Kotlin
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.
77. Formation Programmer des applications mobiles avec Kotlin
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
88. Formation Programmer des applications mobiles avec Kotlin
Les Fragments
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
89. Formation Programmer des applications mobiles avec Kotlin
Le but de l’exercice
Comprendre comment fonctionnent les Fragments
Passer d’un fragment à un autre
90. Formation Programmer des applications mobiles avec Kotlin
É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
91. Formation Programmer des applications mobiles avec Kotlin
Les ListView
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
102. Formation Programmer des applications mobiles avec Kotlin
Les ListView : exercice
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
103. Formation Programmer des applications mobiles avec Kotlin
Le but de l’exercice
Utiliser les ListView
Créer son propre Adapter pour sa ListView
104. Formation Programmer des applications mobiles avec Kotlin
É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 !
105. Formation Programmer des applications mobiles avec Kotlin
Les RecyclerView
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
107. Formation Programmer des applications mobiles avec Kotlin
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
108. Formation Programmer des applications mobiles avec Kotlin
Librairie de compatibilité
Ajouter la lib support pour le RecyclerView dans le Gradle :
109. Formation Programmer des applications mobiles avec Kotlin
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
110. Formation Programmer des applications mobiles avec Kotlin
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
116. Formation Programmer des applications mobiles avec Kotlin
Exemple avec son propre ItemTouchListener
RecyclerView : 2ème exemple :
L’item réagira au click :
onItemClick
onLongItemClick
123. Formation Programmer des applications mobiles avec Kotlin
Les RecyclerView : exercice
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
124. Formation Programmer des applications mobiles avec Kotlin
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
125. Formation Programmer des applications mobiles avec Kotlin
Énoncé
Peut importe la liste (compétences, hotels, plats, etc.).
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)
126. Formation Programmer des applications mobiles avec Kotlin
Les SharedPreferences
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
127. Formation Programmer des applications mobiles avec Kotlin
SharedPreferences : stockage en local
128. Formation Programmer des applications mobiles avec Kotlin
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.
129. Formation Programmer des applications mobiles avec Kotlin
Attention
Les préférences partagées ne fonctionnent qu'avec les objets de type :
boolean
float
int
long
String.
130. Formation Programmer des applications mobiles avec Kotlin
SQLite
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
131. Formation Programmer des applications mobiles avec Kotlin
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.
132. Formation Programmer des applications mobiles avec Kotlin
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
133. Formation Programmer des applications mobiles avec Kotlin
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
134. Formation Programmer des applications mobiles avec Kotlin
Créer ou ouvrir une base de données
Créer une base de données SQLite sur Android c’est simple :
135. Formation Programmer des applications mobiles avec Kotlin
Créer une table avec execSQL
Créer une table aussi :
137. Formation Programmer des applications mobiles avec Kotlin
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.
138. Formation Programmer des applications mobiles avec Kotlin
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
139. Formation Programmer des applications mobiles avec Kotlin
SQLite : exercice
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
140. Formation Programmer des applications mobiles avec Kotlin
Le but de l’exercice
Savoir utiliser SQLite
Créer et manipuler une base de données
141. Formation Programmer des applications mobiles avec Kotlin
É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
142. Formation Programmer des applications mobiles avec Kotlin
BroadcastReceiver
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
143. Formation Programmer des applications mobiles avec Kotlin
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.
144. Formation Programmer des applications mobiles avec Kotlin
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é
148. Formation Programmer des applications mobiles avec Kotlin
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
154. Formation Programmer des applications mobiles avec Kotlin
Les services
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
155. Formation Programmer des applications mobiles avec Kotlin
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.
156. Formation Programmer des applications mobiles avec Kotlin
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
157. Formation Programmer des applications mobiles avec Kotlin
Cycle de vie d’un service
Unbounded service = Service local
Bounded service = Service distant
177. Formation Programmer des applications mobiles avec Kotlin
Les librairies : exercice
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
178. Formation Programmer des applications mobiles avec Kotlin
Le 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
179. Formation Programmer des applications mobiles avec Kotlin
É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>.
180. Formation Programmer des applications mobiles avec Kotlin
Les notifications utilisateur
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
184. Formation Programmer des applications mobiles avec Kotlin
Les permissions
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
185. Formation Programmer des applications mobiles avec Kotlin
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.
186. Formation Programmer des applications mobiles avec Kotlin
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.
187. Formation Programmer des applications mobiles avec Kotlin
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
188. Formation Programmer des applications mobiles avec Kotlin
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
189. Formation Programmer des applications mobiles avec Kotlin
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.
190. Formation Programmer des applications mobiles avec Kotlin
onRequestPermissionResult
Une fois la permission demandée, le résultat de la demande sera retourné dans
la méthode onRequestPermissionsResult (à surcharger).
191. Formation Programmer des applications mobiles avec Kotlin
Publier son application sur le Play Store
Préparée par:
Jérôme Clament-Sanz
Formateur Expert Android
192. Formation Programmer des applications mobiles avec Kotlin
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é.
193. Formation Programmer des applications mobiles avec Kotlin
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.
194. Formation Programmer des applications mobiles avec Kotlin
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
195. Formation Programmer des applications mobiles avec Kotlin
Configurer une fiche Play Store
Informations sur le produit
Éléments graphiques
Langues et traductions
Catégorisation
Coordonnées
Règles de confidentialité
196. Formation Programmer des applications mobiles avec Kotlin
É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