Comment java et Android fonctionnement ensembles
L’environnement de Développement
Les constituants d’une application android
Quelques références Bibliographiques
Chap 3: Introduction à la programmation Java pour les
applications mobiles
Miguel Landry FOKO SINDJOUNG, PhD
Université de Dschang (UDs)
Faculte des Sciences (FS)
Département de Mathéatiques-Informatique (Math-Info)
15 avril 2022
Dr FOKO S. Miguel L. Cours de programmation mobile 1 / 28
Comment java et Android fonctionnement ensembles
L’environnement de Développement
Les constituants d’une application android
Quelques références Bibliographiques
Objectifs :
1 Configurer le Java development Kit (JDK), composant de
l’environnement de développement Android requis
2 Installer Android Studio
3 Construire la toute première application Android
4 Déployer un émulateur Android
5 Exécuter l’application sur un émulateur Android et sur un appareil réel
Dr FOKO S. Miguel L. Cours de programmation mobile 2 / 28
Comment java et Android fonctionnement ensembles Introduction
L’environnement de Développement L’API d’android
Les constituants d’une application android Java est un langage orienté objet
Quelques références Bibliographiques Qu’est-ce que Android ?
La Dalvik EXecutable (DEX) :
Après avoir écrit un programme en Java pour Android, nous cliquons
sur un bouton pour changer notre code en une autre forme comprise
par Android
Cette autre forme s’appelle DEX, et le processus de transformation
s’appelle la compilation
La compilation a lieu sur la machine de développement
Dr FOKO S. Miguel L. Cours de programmation mobile 3 / 28
Comment java et Android fonctionnement ensembles Introduction
L’environnement de Développement L’API d’android
Les constituants d’une application android Java est un langage orienté objet
Quelques références Bibliographiques Qu’est-ce que Android ?
La Dalvik Virtual Machine (DVM) :
Android est un système assez complexe, mais vous n’avez pas besoin
de le comprendre en profondeur pour pouvoir créer des applications
étonnantes
La partie du système Android qui exécute notre code DEX compilé
est appelée la DVM
La DVM est un logiciel écrit dans une autre langue qui s’exécute sur
une version spécialement adaptée du système d’exploitation Linux
Donc, ce que l’utilisateur voit d’Android, est en soi une application
fonctionnant sur un autre système d’exploitation
Dr FOKO S. Miguel L. Cours de programmation mobile 4 / 28
Comment java et Android fonctionnement ensembles Introduction
L’environnement de Développement L’API d’android
Les constituants d’une application android Java est un langage orienté objet
Quelques références Bibliographiques Qu’est-ce que Android ?
La DVM a pour objectif de masquer la complexité et la diversité du
matériel et des logiciels utilisés par Android, tout en exposant toutes
ses fonctionnalités utiles
Cette exposition de fonctionnalités fonctionne généralement de deux
manières
1 La DVM elle-même doit avoir accès au matériel, ce qui est le cas, mais
cet accès doit être convivial pour les programmeurs et facile à utiliser
2 La manière dont la DVM nous permet l’accès est en effet facile à
utiliser grâce à l’API (Application Programming Interface) d’Android
Dr FOKO S. Miguel L. Cours de programmation mobile 5 / 28
Comment java et Android fonctionnement ensembles Introduction
L’environnement de Développement L’API d’android
Les constituants d’une application android Java est un langage orienté objet
Quelques références Bibliographiques Qu’est-ce que Android ?
L’API Android est le code qui facilite vraiment l’exécution de tâches
exceptionnelles
Une simple analogie pourrait être établie avec une machine, peut-être
une voiture
Lorsque vous appuyez sur l’accélérateur, de nombreuses choses se
passent sous le capot
Nous n’avons pas besoin de comprendre la combustion ni les pompes
à carburant, car un ingénieur intelligent nous a fourni une interface
Dans ce cas, une interface mécanique, la pédale d’accélérateur
Dr FOKO S. Miguel L. Cours de programmation mobile 6 / 28
Comment java et Android fonctionnement ensembles Introduction
L’environnement de Développement L’API d’android
Les constituants d’une application android Java est un langage orienté objet
Quelques références Bibliographiques Qu’est-ce que Android ?
Prenez la ligne de code Java suivante à titre d’exemple. Il sera
probablement un peu intimidant si vous êtes complètement nouveau
sur Android :
[Link]
(LocationManager.GPS_PROVIDER) ;
Cependant, une fois que vous apprenez que cette seule ligne de code
recherche les satellites disponibles, puis communique avec eux en
orbite autour de la Terre tout en récupérant votre latitude et
longitude précises sur la planète, il est facile de commencer à
entrevoir la puissance et la profondeur de l’API Android en
conjonction avec la DVM
Même si ce code a l’air un peu difficile pour le moment, imaginez
parler à un satellite d’une autre manière !
Dr FOKO S. Miguel L. Cours de programmation mobile 7 / 28
Comment java et Android fonctionnement ensembles Introduction
L’environnement de Développement L’API d’android
Les constituants d’une application android Java est un langage orienté objet
Quelques références Bibliographiques Qu’est-ce que Android ?
L’API Android est principalement un tas de code Java
Alors, comment pouvons-nous utiliser tout ce code pour faire des
choses cool sans être submergés par sa complexité ?
Comment trouver et manipuler les pédales, le volant et le toit ouvrant
de l’API Android ?
Dr FOKO S. Miguel L. Cours de programmation mobile 8 / 28
Comment java et Android fonctionnement ensembles Introduction
L’environnement de Développement L’API d’android
Les constituants d’une application android Java est un langage orienté objet
Quelques références Bibliographiques Qu’est-ce que Android ?
Java est un langage de programmation qui existe depuis beaucoup
plus longtemps qu’Android
C’est un langage orienté objet
Cela signifie qu’il utilise le concept d’objets de programmation
réutilisables
Si cela ressemble à du jargon technique, une autre analogie aidera
Java nous permet, à d’autres personnes (comme l’équipe de
développement Android), d’écrire du code Java pouvant être structuré
à partir de "choses" réelles et, voici l’important, il peut être réutilisé
Dr FOKO S. Miguel L. Cours de programmation mobile 9 / 28
Comment java et Android fonctionnement ensembles Introduction
L’environnement de Développement L’API d’android
Les constituants d’une application android Java est un langage orienté objet
Quelques références Bibliographiques Qu’est-ce que Android ?
Java est un langage de programmation qui existe depuis beaucoup
plus longtemps qu’Android
C’est un langage orienté objet
Cela signifie qu’il utilise le concept d’objets de programmation
réutilisables
Si cela ressemble à du jargon technique, une autre analogie aidera
Java nous permet, à d’autres personnes (comme l’équipe de
développement Android), d’écrire du code Java pouvant être structuré
à partir de "choses" réelles et, voici l’important, il peut être réutilisé
Dr FOKO S. Miguel L. Cours de programmation mobile 9 / 28
Comment java et Android fonctionnement ensembles Introduction
L’environnement de Développement L’API d’android
Les constituants d’une application android Java est un langage orienté objet
Quelques références Bibliographiques Qu’est-ce que Android ?
Java est un langage de programmation qui existe depuis beaucoup
plus longtemps qu’Android
C’est un langage orienté objet
Cela signifie qu’il utilise le concept d’objets de programmation
réutilisables
Si cela ressemble à du jargon technique, une autre analogie aidera
Java nous permet, à d’autres personnes (comme l’équipe de
développement Android), d’écrire du code Java pouvant être structuré
à partir de "choses" réelles et, voici l’important, il peut être réutilisé
Dr FOKO S. Miguel L. Cours de programmation mobile 9 / 28
Comment java et Android fonctionnement ensembles Introduction
L’environnement de Développement L’API d’android
Les constituants d’une application android Java est un langage orienté objet
Quelques références Bibliographiques Qu’est-ce que Android ?
Java est un langage de programmation qui existe depuis beaucoup
plus longtemps qu’Android
C’est un langage orienté objet
Cela signifie qu’il utilise le concept d’objets de programmation
réutilisables
Si cela ressemble à du jargon technique, une autre analogie aidera
Java nous permet, à d’autres personnes (comme l’équipe de
développement Android), d’écrire du code Java pouvant être structuré
à partir de "choses" réelles et, voici l’important, il peut être réutilisé
Dr FOKO S. Miguel L. Cours de programmation mobile 9 / 28
Comment java et Android fonctionnement ensembles Introduction
L’environnement de Développement L’API d’android
Les constituants d’une application android Java est un langage orienté objet
Quelques références Bibliographiques Qu’est-ce que Android ?
Nous savons que pour faire avancer les choses sur Android, nous
écrivons notre propre code Java, qui utilise également le code Java de
l’API Android
Ceci est ensuite compilé dans le code DEX et exécuté par la DVM,
qui à son tour établit des connexions avec un système d’exploitation
sous-jacent appelé Linux
Ensuite, les fabricants des périphériques Android et des composants
matériels individuels écrivent des logiciels avancés, appelés pilotes, qui
garantissent que leur matériel (CPU, GPU, récepteurs GPS, etc.) peut
fonctionner sur le système d’exploitation Linux sous-jacent
Dr FOKO S. Miguel L. Cours de programmation mobile 10 / 28
Comment java et Android fonctionnement ensembles Introduction
L’environnement de Développement L’API d’android
Les constituants d’une application android Java est un langage orienté objet
Quelques références Bibliographiques Qu’est-ce que Android ?
Notre code Java compilé, ainsi que d’autres ressources, est placé dans
un ensemble de fichiers appelé Android Application Package (APK),
et c’est ce dont la DVM a besoin pour exécuter notre application
En résumé, tout ce que nous devons faire, c’est apprendre à lire et à
coder Java afin de pouvoir commencer à apprendre et à tirer parti de
l’API Android
Ce processus est expliqué dans la figure suivante :
Dr FOKO S. Miguel L. Cours de programmation mobile 11 / 28
Comment java et Android fonctionnement ensembles Introduction
L’environnement de Développement L’API d’android
Les constituants d’une application android Java est un langage orienté objet
Quelques références Bibliographiques Qu’est-ce que Android ?
Dr FOKO S. Miguel L. Cours de programmation mobile 12 / 28
Comment java et Android fonctionnement ensembles
De quoi avons nous besoin ?
L’environnement de Développement
Le JDK
Les constituants d’une application android
Installation d’android studio
Quelques références Bibliographiques
Un environnement de développement est un terme qui signifie avoir tout
ce dont vous avez besoin pour développer, vous installer et être prêt à aller
dans un endroit. Nous avons besoin des deux choses suivantes pour
commencer :
1 Pour utiliser le code Java, nous avons besoin d’un logiciel libre appelé
JDK
Le JDK inclut également le code d’autres personnes, distinct de l’API
Android
2 Nous avons également besoin de l’API Android, bien sûr :
L’ensemble de ces exigences est collectivement appelé Software
Development Kit (SDK) d’Android
Dr FOKO S. Miguel L. Cours de programmation mobile 13 / 28
Comment java et Android fonctionnement ensembles
De quoi avons nous besoin ?
L’environnement de Développement
Le JDK
Les constituants d’une application android
Installation d’android studio
Quelques références Bibliographiques
Le téléchargement et l’installation d’une seule application nous
permettront de regrouper ces éléments
Cette application unique s’appelle Android Studio qui est un
environnement de développement intégré (EDI) prennant en charge
toutes les complexités de la compilation de notre code et de la liaison
avec le JDK et l’API Android
Une fois que nous avons installé JDK et Android Studio, nous pouvons
faire tout ce dont nous avons besoin dans cette application
Dr FOKO S. Miguel L. Cours de programmation mobile 14 / 28
Comment java et Android fonctionnement ensembles
De quoi avons nous besoin ?
L’environnement de Développement
Le JDK
Les constituants d’une application android
Installation d’android studio
Quelques références Bibliographiques
Installer le JDK peut être aussi simple que de télécharger, de
double-cliquer sur le fichier téléchargé et de suivre les instructions
d’installation
Cependant, parfois ce n’est pas le cas, donc, il vaut probablement la
peine de parcourir le processus d’installation étape par étape et de la
façon dont quelques options peuvent rendre les choses plus faciles
(Voir travaux pratiques)
Dr FOKO S. Miguel L. Cours de programmation mobile 15 / 28
Comment java et Android fonctionnement ensembles
De quoi avons nous besoin ?
L’environnement de Développement
Le JDK
Les constituants d’une application android
Installation d’android studio
Quelques références Bibliographiques
Installer le JDK peut être aussi simple que de télécharger, de
double-cliquer sur le fichier téléchargé et de suivre les instructions
d’installation
Cependant, parfois ce n’est pas le cas, donc, il vaut probablement la
peine de parcourir le processus d’installation étape par étape et de la
façon dont quelques options peuvent rendre les choses plus faciles
(Voir travaux pratiques)
Dr FOKO S. Miguel L. Cours de programmation mobile 15 / 28
Comment java et Android fonctionnement ensembles
De quoi avons nous besoin ?
L’environnement de Développement
Le JDK
Les constituants d’une application android
Installation d’android studio
Quelques références Bibliographiques
Maintenant que le JDK est installé et prêt à fonctionner, nous ne
sommes plus qu’à une étape de la construction de notre première
application Android
L’installation d’Android Studio peut prendre un peu plus de temps
que le JDK et est un peu plus nuancée (voir travaux pratiques pour
plus de détails)
Dr FOKO S. Miguel L. Cours de programmation mobile 16 / 28
Comment java et Android fonctionnement ensembles
De quoi avons nous besoin ?
L’environnement de Développement
Le JDK
Les constituants d’une application android
Installation d’android studio
Quelques références Bibliographiques
Maintenant que le JDK est installé et prêt à fonctionner, nous ne
sommes plus qu’à une étape de la construction de notre première
application Android
L’installation d’Android Studio peut prendre un peu plus de temps
que le JDK et est un peu plus nuancée (voir travaux pratiques pour
plus de détails)
Dr FOKO S. Miguel L. Cours de programmation mobile 16 / 28
Comment java et Android fonctionnement ensembles Ressources android
L’environnement de Développement La structure d’un code java pour Android
Les constituants d’une application android Déploiement et test de l’application
Quelques références Bibliographiques Résumé
L’application comprendra des ressources telles que des images, des
sons et des dispositions d’interface utilisateur conservées dans des
fichiers distincts du code Java
elle comprendra également des fichiers contenant le contenu textuel
de notre application
Il est habituel de faire référence au texte de notre application via des
fichiers séparés, car cela facilite leur modification et facilite la création
d’applications fonctionnant dans plusieurs langues
De plus, les dispositions de nos applications en matière d’interface
utilisateur, malgré l’option de les implémenter avec un concepteur
visuel, sont en réalité lues à partir de fichiers texte par Android
Dr FOKO S. Miguel L. Cours de programmation mobile 17 / 28
Comment java et Android fonctionnement ensembles Ressources android
L’environnement de Développement La structure d’un code java pour Android
Les constituants d’une application android Déploiement et test de l’application
Quelques références Bibliographiques Résumé
Bien entendu, Android (ou tout ordinateur) ne peut pas lire et
reconnaître un texte de la même manière qu’un humain
Par conséquent, nous devons présenter nos ressources de manière
hautement organisée et prédéfinie
Pour ce faire, nous utiliserons le langage XML (Extensible Markup
Language)
Dr FOKO S. Miguel L. Cours de programmation mobile 18 / 28
Comment java et Android fonctionnement ensembles Ressources android
L’environnement de Développement La structure d’un code java pour Android
Les constituants d’une application android Déploiement et test de l’application
Quelques références Bibliographiques Résumé
En plus de ces ressources, il convient de noter que Java, utilisé dans
Android, a une structure pour son code
Il existe plusieurs millions de lignes de code dont nous pouvons tirer
parti
Ce code devra évidemment être organisé de manière à faciliter la
recherche et la référence
Il est organisé sous des packages prédéfinis spécifiques à Android
Chaque fois que nous créons une nouvelle application Android, nous
choisissons un nom unique appelé package
Dr FOKO S. Miguel L. Cours de programmation mobile 19 / 28
Comment java et Android fonctionnement ensembles Ressources android
L’environnement de Développement La structure d’un code java pour Android
Les constituants d’une application android Déploiement et test de l’application
Quelques références Bibliographiques Résumé
Les packages sont souvent séparés en sous-packages, ils peuvent donc
être regroupés avec d’autres packages similaires
Nous pouvons simplement les considérer comme des dossiers et des
sous-dossiers
Nous pouvons également penser à tous les packages mis à notre
disposition par l’API Android sous forme de livres contenant du code,
issus d’une bibliothèque
Les classes sont contenues dans ces packages
Nous verrons dans notre toute première application comment
importer facilement les packages d’autres personnes, ainsi que des
classes spécifiques de ces packages, pour les utiliser dans nos projets
Dr FOKO S. Miguel L. Cours de programmation mobile 20 / 28
Comment java et Android fonctionnement ensembles Ressources android
L’environnement de Développement La structure d’un code java pour Android
Les constituants d’une application android Déploiement et test de l’application
Quelques références Bibliographiques Résumé
Une classe sera presque toujours contenue dans son propre fichier,
portant le même nom que la classe et portant l’extension de fichier
.java
En Java, on divise davantage les classes en sections qui effectuent les
différentes actions de la classe
On appele ces sections des méthodes : Ce sont, le plus souvent, les
méthodes de la classe que nous allons utiliser pour accéder aux
fonctionnalités fournies dans ces millions de lignes de code
Nous n’avons pas besoin de lire le code, nous avons juste besoin de
savoir quelle classe fait ce dont nous avons besoin, dans quel package
elle se trouve et quelles méthodes de la classe nous donnent
précisément les résultats que nous recherchons
Dr FOKO S. Miguel L. Cours de programmation mobile 21 / 28
Comment java et Android fonctionnement ensembles Ressources android
L’environnement de Développement La structure d’un code java pour Android
Les constituants d’une application android Déploiement et test de l’application
Quelques références Bibliographiques Résumé
Le diagramme suivant montre une représentation de l’API Android
Dr FOKO S. Miguel L. Cours de programmation mobile 22 / 28
Comment java et Android fonctionnement ensembles Ressources android
L’environnement de Développement La structure d’un code java pour Android
Les constituants d’une application android Déploiement et test de l’application
Quelques références Bibliographiques Résumé
Une note sur le controle de versions :
Dans ce cours, nous abordons tout ce que vous devez savoir pour
publier des applications professionnelles
Une chose dont nous ne discuterons pas est de travailler en
collaboration dans le cadre d’une équipe ou de toute stratégie de
sauvegarde de votre code
Si vous avez seulement l’intention de créer vous-même des
applications, vous n’avez pas besoin d’en savoir plus
Cependant, Android Studio fonctionne de manière presque
transparente avec un certain nombre de systèmes de contrôle de
version (SCV) et de référentiels de code différents
Dr FOKO S. Miguel L. Cours de programmation mobile 23 / 28
Comment java et Android fonctionnement ensembles Ressources android
L’environnement de Développement La structure d’un code java pour Android
Les constituants d’une application android Déploiement et test de l’application
Quelques références Bibliographiques Résumé
SCV et leurs référentiels de code associés présentent un certain
nombre d’avantages, à savoir :
1 Vous pouvez autoriser plusieurs programmeurs à contribuer au même
projet et sur le même fichier
2 Vous pouvez cliquer sur un bouton pour ramener votre travail à une
position spécifiée si vous se rendre compte que vous avez mal tourné
3 Vous pouvez stocker votre code de manière transparente dans un
référentiel sur le cloud/Web et travailler sur votre projet à partir de
n’importe quel ordinateur de développement sans vous soucier de la
sauvegarde des fichiers
Dr FOKO S. Miguel L. Cours de programmation mobile 24 / 28
Comment java et Android fonctionnement ensembles Ressources android
L’environnement de Développement La structure d’un code java pour Android
Les constituants d’une application android Déploiement et test de l’application
Quelques références Bibliographiques Résumé
Déploiement et test d’applications :
Nous devons tester fréquemment nos applications tout au long du
développement pour détecter d’éventuelles erreurs, blocages ou autres
erreurs imprévues
Il est également important de vous assurer que l’application est
correcte et qu’elle fonctionne correctement sur chaque type/taille de
périphérique que vous souhaitez cibler
Il est clair que nous ne possédons pas chacun des milliers d’appareils
Android
C’est là que les émulateurs entrent en jeu
Dr FOKO S. Miguel L. Cours de programmation mobile 25 / 28
Comment java et Android fonctionnement ensembles Ressources android
L’environnement de Développement La structure d’un code java pour Android
Les constituants d’une application android Déploiement et test de l’application
Quelques références Bibliographiques Résumé
Cependant, les émulateurs sont parfois un peu lents et encombrants,
bien qu’ils se soient beaucoup améliorés récemment
Si nous voulons avoir une idée réelle de l’expérience que nos
utilisateurs vont vivre, rien ne vaut le déploiement d’une application
sur un appareil réel
Nous voudrons donc probablement utiliser à la fois des appareils réels
et des émulateurs lors du développement de nos applications
Nous allons tout d’abord déployer sur un émulateur, puis sur un
périphérique réel
Dr FOKO S. Miguel L. Cours de programmation mobile 26 / 28
Comment java et Android fonctionnement ensembles Ressources android
L’environnement de Développement La structure d’un code java pour Android
Les constituants d’une application android Déploiement et test de l’application
Quelques références Bibliographiques Résumé
Jusqu’à présent, nous avons mis en place un environnement de
développement Android et créé et déployé une application sur un
émulateur et un appareil réel
Si vous avez encore des questions sans réponse (et vous en avez
probablement plus qu’au début de ce chapitre), ne vous inquiétez pas,
car à mesure que nous approfondirons les mondes Android et Java, les
choses deviendront plus claires
Au fur et à mesure que les chapitres progressent, vous allez acquérir
une compréhension très complète de la manière dont tout s’articule,
puis le succès dépendra simplement de la pratique et de la profondeur
de l’API Android
Dr FOKO S. Miguel L. Cours de programmation mobile 27 / 28
Comment java et Android fonctionnement ensembles Ressources android
L’environnement de Développement La structure d’un code java pour Android
Les constituants d’une application android Déploiement et test de l’application
Quelques références Bibliographiques Résumé
Jusqu’à présent, nous avons mis en place un environnement de
développement Android et créé et déployé une application sur un
émulateur et un appareil réel
Si vous avez encore des questions sans réponse (et vous en avez
probablement plus qu’au début de ce chapitre), ne vous inquiétez pas,
car à mesure que nous approfondirons les mondes Android et Java, les
choses deviendront plus claires
Au fur et à mesure que les chapitres progressent, vous allez acquérir
une compréhension très complète de la manière dont tout s’articule,
puis le succès dépendra simplement de la pratique et de la profondeur
de l’API Android
Dr FOKO S. Miguel L. Cours de programmation mobile 27 / 28
Comment java et Android fonctionnement ensembles Ressources android
L’environnement de Développement La structure d’un code java pour Android
Les constituants d’une application android Déploiement et test de l’application
Quelques références Bibliographiques Résumé
Jusqu’à présent, nous avons mis en place un environnement de
développement Android et créé et déployé une application sur un
émulateur et un appareil réel
Si vous avez encore des questions sans réponse (et vous en avez
probablement plus qu’au début de ce chapitre), ne vous inquiétez pas,
car à mesure que nous approfondirons les mondes Android et Java, les
choses deviendront plus claires
Au fur et à mesure que les chapitres progressent, vous allez acquérir
une compréhension très complète de la manière dont tout s’articule,
puis le succès dépendra simplement de la pratique et de la profondeur
de l’API Android
Dr FOKO S. Miguel L. Cours de programmation mobile 27 / 28
Comment java et Android fonctionnement ensembles
L’environnement de Développement
Les constituants d’une application android
Quelques références Bibliographiques
1 [Link]
[Link], Visited on 27/03/2018
2 [Link] , Visited on 30/06/19
3 [Link] , Visited on 30/06/19
4 Android Programming for Beginners, PACKT Publishing,
Birmingham-Mumbai, ISBN 978-1-78588-326-2
5 [Link] Visited on
27/03/2018
6 Leszek Wiland and Suman Banerjee. Introduction to Mobile Phone
Programming in Java Me, prepared for CS/ECE, UW-Madison
([Link]
Dr FOKO S. Miguel L. Cours de programmation mobile 28 / 28