0% ont trouvé ce document utile (0 vote)
96 vues45 pages

Introduction au développement mobile Android

Transféré par

azert.n.0000
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
96 vues45 pages

Introduction au développement mobile Android

Transféré par

azert.n.0000
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Développement mobile natif

Mohamed Aymen
CHARRADA
ISET de Mahdia

DSI 3

A.U. 2024/2025
Objectif du cours

Ce cours vise à faire acquérir à l’apprenant les


outils de développement des applications
mobiles sous « Android » et maitriser les
environnements mobiles modernes

2 Mohamed Aymen CHARRADA - DSI3 15/09/2024


Présentation du cours
 A l'issue de ce cours, les étudiants auront appris à:
▪ Comprendre les plateformes mobiles et leurs contraintes
▪ Comprendre l'architecture d’un système mobile
▪ Apprendre à développer une application sous Android
▪ Pouvoir utiliser les ressources des appareils mobiles et s’interfacer
avec des services distants
 Niveaux cibles :
Étudiants DSI 3
 Pré-requis :
Programmation objet, systèmes d’exploitation, XML, base de
données
3 Mohamed Aymen CHARRADA - DSI3 15/09/2024
Accès
 Ce cours est accessible via le lien suivant :
[Link]
G-FvHFQKExfjbhre1Qi5gQONp

4 Mohamed Aymen CHARRADA - DSI3 15/09/2024


Plan du cours
 Introduction

5 Mohamed Aymen CHARRADA - DSI3 15/09/2024


Introduction
 Applications mobiles
 Considérées comme un logiciel applicatif développé pour
fonctionner sur des appareils mobiles (smartphone, tablette,
montre connectée...)
 Dédiées à fonctionner sur un système d’exploitation mobile
(Android, IOS, HarmonyOS...)
 Développées avec des langages de programmation
spécifiques (JAVA et kotlin pour Android, Swift pour Apple)
 Distribuées depuis des plateformes de téléchargement
(google play, App Store, AppGallery…)
 Existent sous trois formes possibles : natives, web et
hybrides

7 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Types d’applications mobiles
 Applications natives (1/2)
 Conçues spécifiquement pour le système d’exploitation via lequel
elles seront utilisées
 Téléchargeables depuis une plateforme dédiée (Google play, Apple
store, AppGallery)
 Installées localement et utilisent les capacités des appareils sur
lesquels elles sont installées et celles de leur système d’exploitation
 Elles sont beaucoup plus stables et offrent une meilleure
expérience utilisateur
 Elles s'adaptent parfaitement au système d’exploitation et
permettent d'interagir facilement avec les différentes fonctions de
l’appareil
 Elles peuvent fonctionner en mode hors ligne dans la majorité des
cas
8 Mohamed Aymen CHARRADA - DSI3 15/09/2024
 Types d’applications mobiles
 Applications natives (2/2)
 Elles nécessitent toutefois un développement plus long et
complexe et une maintenance plus lente et couteuse
 Elles peuvent être volumineuses, ce qui peut poser problème pour
les appareils avec une capacité de stockage limitée
 Les applications natives correspondent généralement aux
programmes pratiques tels que l'appareil photo, l’horloge, le GPS,
le Bluetooth, le module d'appels ou de messages, le carnet
d’adresses ou encore l’authentification biométrique…

9 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Types d’applications mobiles
 Applications web progressives (1/2)
 Sont des sites web optimisés pour fonctionner sur les appareils
mobiles
 Accessibles depuis un URL via un navigateur internet de l’appareil
mobile
 Exploitent les technologies web (HTML, CSS, JS …) et peuvent
être développées pour être réactives et adaptatives à différents
types d'écrans
 Elles sont génériques et fonctionnent sur tous les appareils dotés
d'un navigateur, quel que soit le système d'exploitation
 Elles ne nécessitent pas d'être téléchargées depuis un store
 Elles sont légères, admettent souvent un coût réduit et leur
maintenance est plus simple

10 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Types d’applications mobiles
 Applications web progressives (2/2)
 Elles manquent de performances (par rapport aux applications
natives), en particulier pour les fonctionnalités complexes
 Elles admettent souvent moins de contrôle sur les fonctionnalités
matérielles
 Elles nécessitent dans la plupart des cas une connexion Internet

11 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Types d’applications mobiles
 Applications hybrides
 Elles réunissent des éléments web et natives : Elles sont
développées avec des technologies web et encapsulées dans un
conteneur natif
 Elles peuvent accéder souvent à toutes les fonctions natives
présentes sur l’appareil mobile
 Elles sont compatibles avec toutes les plateformes mobiles et
peuvent être distribuées sur tous les stores
 Elles combinent les avantages des deux approches, tout en tentant
de minimiser leurs inconvénients

12 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Pourquoi développer des applications mobiles
 Nombres d’abonnements mobiles
 En 2000 : < 1 milliard
 En 2023 : presque 8.9 milliards
 Environ 142 milliards téléchargements d'applications
mobiles ont été effectués uniquement en 2023
 De 2011 à 2023, les revenus des applications mobiles ont
dépassé les 930 milliards de dollars. Ces revenus
comprennent les revenus des téléchargements
d'applications, des achats intégrés, de la publicité et des
modèles d'abonnement

13 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Pourquoi développer des applications mobiles
Nombre de smartphones vendus dans le monde entre 2007 et
2023 (en millions d’unités)

14 Mohamed Aymen CHARRADA - DSI3


Source 15/09/2024
Présentation d’Android
 Naissance d’Android (1/4)
 C’était à l’origine un OS mobile développé par une startup
américaine (« Android Incorporated »)
 Cette startup a été créée en 2003 puis rachetée en 2005 par
Google avec un montant de ≈ 2 milliards $
 Google avait l’intention de s'introduire sur le marché des
produits mobiles et de développer un OS mobile permettant
à l'utilisateur d'interagir avec son environnement
 Les principaux concurrents « d’Android » à l'époque étaient
« Symbian » (Nokia) et « Windows Mobile » (Microsoft)
 En janvier 2007, « Apple » dévoilait « l’iPhone », un téléphone
tout simplement révolutionnaire pour l'époque, capable
d'aller sur internet, de lire des vidéos,…
16 Mohamed Aymen CHARRADA - DSI3 15/09/2024
 Naissance d’Android (2/4)
 « iPhone » était un téléphone équipé d’un super OS mobile
appelé « iOS » (iPhoneOS)
 L'annonce, qui a bouleversé le monde du mobile, était un
désastre pour les autres constructeurs (y compris Google)
 Pour ces concurrents, le problème étant que pour atteindre
le niveau d'iOS, il aurait fallu des années de recherche et
développement à chaque constructeur
 Solution
 Création d’une alliance, qui regroupe un nombre important des
intervenants, afin de s'aligner sur la nouvelle concurrence
« d’Apple » et développer un OS concurrent à « iOS » dans les
plus proches délais

17 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Naissance d’Android (3/4)
 En novembre 2007, l’alliance OHA (Open Handset Alliance) a
été créée et comptait à sa création 35 entreprises évoluant
dans l'univers du mobile, y compris Google
 Cette alliance avait le but de développer un OS mobile open
source et ainsi concurrencer les autres OSs notamment iOS
 L'OHA compte à l'heure actuelle 80 membres

18 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Naissance d’Android (4/4)
 Depuis sa création, la popularité d'Android a toujours été
croissante
 C'est au quatrième trimestre de 2010 qu'Android devient le
système d'exploitation mobile le plus utilisé au monde
 On le retrouve non seulement dans les tablettes et les
smartphones, mais aussi dans les téléviseurs, les consoles de
jeux, les appareils photos, l’électroménager…

19 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Présentation d’Android
 Android est un environnement de développement open
source pour les terminaux mobiles, il est composé de :
 Un système d’exploitation basé sur Linux
 Des applications basiques (téléphonie, contacts, messagerie...)
 Un ensemble d’API avancées (géolocalisation, graphique 2D et 3D,
connectivité…)
 SDK (Standard Development Kit) basé sur JAVA
 L’utilisation d’Android est avantageuse vu qu’il est :
 Open source (gratuit) et personnalisable (modifiable au choix)
 Stable et relativement simple à utiliser
 Flexible et extrêmement portable, il s'adapte à différents types
d’appareils (tablette, TV, Smartphone …)
 Riche en fonctionnalités
20 Mohamed Aymen CHARRADA - DSI3 15/09/2024
 Historique des versions Android

Android 13 Android 14
August
Mohamed Aymen CHARRADA - DSI3 2022 October 2023 15/09/2024
21
 Android sur le marché

Part des ventes


mondiales de
smartphones par
système
d'exploitation (%)

Source

22 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Android sur le marché
Part du marché des principaux fournisseurs mondiaux de
smartphones (en %)

23 Mohamed Aymen CHARRADA - DSI3


Source 15/09/2024
 Architecture d’Android

24 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Architecture d’Android
Un noyau linux qui assure :
✓ Gestion de le mémoire
✓ Gestion des processus
✓ Gestion du matériel (écran clavier …)
✓ Gestion des capteurs (appareil photo, GPS, accéléromètre
…)
✓ …

25 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Architecture d’Android
Des bibliothèques (C et C++)
✓ Graphisme
✓ Médias
✓ Web
✓ …

26 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Architecture d’Android

Une machine virtuelle java


(environnement d’exécution)

27 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Architecture d’Android

Des gestionnaires pour les applications + une API en java


✓ Gestion des fenêtres, des activités, des ressources …
✓ API pour développement des programmes

28 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Architecture d’Android

Les applications

29 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Installation et configuration d’Android
 Exigences matérielles minimales
Pour installer l’environnement Android, il faut avoir :
 2 Go de mémoire RAM, mais on ne va pas se cacher qu'en dessous
de 8 Go vous risquez d'être limité
 Plus de 1,5 Go d'espace disque pour tout installer
 Niveau processeur, c'est vraiment la puissance pure qui compte. Il
n'y a donc pas de minima mais le plus rapide sera le mieux
 Si vous allez développer sous Windows, il faut avoir au moins la
version Windows 7
 Pour Mac OS, Il vous faudra Mac OS 10.8.5 ou plus récent
 Pour Linux, Google conseille d'utiliser une distribution Ubuntu
plus récente que la 14.04

30 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Installation et configuration d’Android
 JDK (Java Development Kit)
 Il est préférable que la dernière version du JDK soit installée sur
votre machine (JDK est un ensemble d'outils pour compiler et
déboguer votre code Java)
 Pour télécharger la dernière version du JDK, rendez-vous ici

31 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Installation et configuration d’Android
 Android studio
 C’un environnement de développement spécialisé dans la création
des applications Android
 Pour procurer la dernière version de cet outil, rendez-vous ici

32 Mohamed Aymen CHARRADA - DSI3 15/09/2024


Structure de base d’une application
Android
 Application Android
 Une application Android est constituée de plusieurs composants
qui interagissent entre eux
 Ces composants se divisent en deux catégories: composants
applicatifs et composants d’interaction
 Les composants applicatifs définissent comment l’application se
comporte et interagit avec les utilisateurs et l’OS
 Les principaux composants applicatifs :
 Les activités
 Les fragments
 Les services
 Les ressources
 Le fichier de configuration

34 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Activité
 Un composant qui représente une seule interface avec lequel
l'utilisateur peut interagir
 Chaque activité est généralement associée à une interface
utilisateur et gère la logique de cette interface et son cycle
de vie, qui sont implémentés en Java dans une classe héritant
de la classe « Activity » ou d’une classe dérivée de «
Activity » (par exemple « MapActivity » pour utiliser
Google maps)
 Pour chaque interface de votre application, vous devez donc
créer une activité

35 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Cycle de vie d’activité
 Une activité peut avoir plusieurs états. Ces états constituent son
cycle de vie
 Les principaux états d’une activité sont :
 Créée (created) : activité créée en mémoire mais pas encore visible
 Démarrée (started) : activité visible mais pas encore en premier plan
 Active (active) : activité visible qui détient le focus de l’utilisateur (en
premier plan)
 Suspendue (paused) : activité partiellement visible (par exemple,
lorsqu'un autre écran apparaît partiellement au-dessus), mais elle n'est
plus au premier plan
 Arrêtée (stopped) : activité invisible (en arrière plan) et inactive mais
elle est toujours en mémoire
 Détruite (Destroyed) : activité détruite définitivement et mémoire
libérée
36 Mohamed Aymen CHARRADA - DSI3 15/09/2024
 Cycle de vie d’activité
 La classe « Activity », classe supérieure de toutes les
activités, définit un nombre de méthodes spécifiques qui
gèrent le passage entre les états du cycle de vie
 Ces méthodes sont :
 onCreate : invoquée pour la création de l’activité (c’est la seule
méthode qui doit être obligatoirement implémentée dans la
classe de chaque activité)
 onStart : invoquée pour (re)démarrer l’activité
 onResume : invoquée pour mettre l’activité en premier plan
 onPause : invoquée pour mettre l’activité en pause
 onStop : invoquée pour stopper l’activité
 onRestart : invoquée pour redémarrer l’activité stoppée
 onDestroy : invoquée pour terminer l’activité
37 Mohamed Aymen CHARRADA - DSI3 15/09/2024
 Cycle de vie d’activité

Active
(visible et en
premier plan)
onResume() onPause()

Démarrée onResume()
(visible mais Suspendue
pas en (partiellement
premier plan) visible)
onStop()
onStart()
onStart()
Créée
Arrêtée
(n’est pas onRestart()
(n’est plus
encore visible)
visible)
onCreate()
onDestroy()
Détruite

38 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Fragment
 Une activité peut être composée d’un ensemble de portions
modulaires appelés fragments, qui peuvent être combinées
(pour former une activité plus complexe)
 Les fragments permettent la réutilisation des interfaces
utilisateur et la gestion de plusieurs parties d'une interface au sein
d'une même activité

39 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Service
 C’est est un composant qui permet d'exécuter des tâches en
arrière-plan sans avoir besoin d'une interface utilisateur
 Les services peuvent continuer à fonctionner même si
l'utilisateur quitte l'application, ce qui est utile pour des
tâches telles que la lecture de musique ou le téléchargement
de données

40 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Ressources
 Ce sont des fichiers extérieurs au code source qui
permettent de définir l'apparence, le contenu, et les
fonctionnalités de l'application
 Ils incluent des éléments comme les chaînes, les images, le
son, les mises en page, les couleurs, les dimensions, les
animations, et bien plus encore
 L'utilisation des ressources permet de séparer le code de la
présentation, ce qui rend l'application plus facile à
personnaliser, à gérer et à maintenir

41 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Fichier de configuration (Manifest file)
 C’est un fichier essentiel et obligatoire pour chaque
application Android
 Ce fichier, nommé « [Link] », décrit les
composantes de l’application (activités, services…)
 Il déclare les permissions de l’application (telles que droit de
passer des appels, d’accès à internet, au caméra, au GPS …)
 Il précise la version minimale d’Android nécessaire pour le
bon fonctionnement de l’application
 Il définit aussi des informations concernant l’application
telles que le nom, l’icône, la version …

42 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Fichier de configuration (Manifest file)

43 Mohamed Aymen CHARRADA - DSI3 15/09/2024


 Composants d’interaction
 Les composants d’interaction gèrent la communication
entre les différentes parties de l'application et entre
l'application et l'utilisateur (ou le système Android)
 Les principaux composants d’interaction :
 Les intentions (intent)
 Les récepteurs d’ intentions
 Les filtres d’intentions
 Les notifications

44 Mohamed Aymen CHARRADA - DSI3 15/09/2024


45 Mohamed Aymen CHARRADA - DSI3 15/09/2024

Vous aimerez peut-être aussi