Vous êtes sur la page 1sur 41

Développement d’applications mobile

DAP

Fatma Achour

Institut Supérieur d’Informatique et de Multimédia de Gabès

LFSIM2

2021/2022

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 1 / 41


Plan

1 Chapitre 2 : Le système Android


Le système d’exploitation Android
L’environnement Android Studio
Structure d’un projet d’application Android
Composantes d’une application Android

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 2 / 41


Plan

1 Chapitre 2 : Le système Android


Le système d’exploitation Android
L’environnement Android Studio
Structure d’un projet d’application Android
Composantes d’une application Android

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 3 / 41


Contraintes Mobiles

Tenir compte du matériel :


Une puissance processeur faible;
Une RAM limitée;
Plusieurs type de résolutions de l’écran;
Des coûts élevés de transferts de données;
Des connexions réseau moins stables;
Efficacité : optimiser votre code afin qu’il soit rapide et réactif.

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 4 / 41


Contraintes Mobiles

La performance;
La réactivité;
La sécurité;
La transparence;

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 5 / 41


Pourquoi Android?
Plusieurs langages :

Figure: .Net. Figure: Python. Figure: JavaScript.


Figure: Java.

Multi OS :

Figure: Windows. Figure: Mac.


Figure: Linux.

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 6 / 41


Pourquoi Android?
Plusieurs outils :

Figure:
Figure: Figure: Figure: Titanium.
Figure:
Eclipse. Netbeans. Python.
IntelIDEA.

Déploiement facile (multi plateforme) :

Figure:
Téléphone Figure: Tablet.
Figure:
Emulateur. mobile.
Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 7 / 41
Historique/Définition

Android est un système d’exploitation OPEN SOURCE pour


terminaux mobiles (smartphones, PDA, tablet, . . . )
Conçu à la base par une startup (Android) rachetée par Google en
2005
Pour la promotion de ce système Google a fédéré autour de lui une
trentaine de partenaires réunis au sein de l’Open Handset Alliance
(OHA)
C’est aujourd’hui le système d’exploitation mobile le plus utilisé à
travers le monde

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 8 / 41


Versions OS

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 9 / 41


Plateforme Android

Le système d’exploitation Android est basé sur Linux. Au plus bas niveau
de ce système se trouve un noyau Linux destiné à la gestion du matériel
comme :
Drivers de ces terminaux,
La gestion de la mémoire,
La gestion des processus
L’accès au réseau
...

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 10 / 41


Plateforme Architecture

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 11 / 41


Plateforme Architecture

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 12 / 41


Plateforme Architecture

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 13 / 41


Plateforme Architecture

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 14 / 41


Plateforme Architecture

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 15 / 41


Plateforme Architecture

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 16 / 41


Android pour tous

Développeurs
Pas besoin de licence
Simple et intuitifs
Modulables
Constructeurs
Tous les constructeurs peuvent utiliser Android
Un ensemble de services sont déjà disponibles dans le core
API disponible pour les accès de bas niveau

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 17 / 41


Android vs Langages de programmation

Android n’est pas un langage de programmation


Pour développer sous Android, il existe deux possibilités :
Développement native (Java ou C)
Développement hybride

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 18 / 41


Android & Java

Le SDK Android est développé en Java -> Permet de développer des


applications avec un haut niveau d’abstraction
Android a sa propre machine virtuelle (DVM)
Ne supporte pas toutes les fonctionnalités de la JRE
Une application Android ne peut pas s’exécuter sur une machine
virtuelle Java
Une application Java (native) ne peut pas s’exécuter sous Android
Android dispose de sa propre machine virtuelle

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 19 / 41


Android & C++

Il est possible d’écrire des applications Android en utilisant le langage


C/C++ qui seront exécutées directement par le système
d’exploitation Linux embarqué
Android fournit le kit de développement NDK pour les
développements d’application en C/C++
Utilisé dans le développement de jeux 2D/3D se basant fortement sur
la librairie OpenGL

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 20 / 41


Android & Développement hybride

Android supporte le développement hybride : Framework destiné à faciliter


la création d’applications mobiles pour différentes plateformes.
Titanium
Phonegap
Neomad

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 21 / 41


Plan

1 Chapitre 2 : Le système Android


Le système d’exploitation Android
L’environnement Android Studio
Structure d’un projet d’application Android
Composantes d’une application Android

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 22 / 41


Développer pour Android

Les interfaces et les constantes sont définies dans des fichiers XML
Facilite la modification
Statique
Les ressources sont téléchargées avec l’application
Les fonctionnalités sont dans le code
Lien avec ce qui est défini en XML
Accès aux ressources
L’API n’est pas totalement celle de java (classes redéfinies (par
exemple Color), interfaces, écouteurs . . . )

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 23 / 41


Développer pour Android

La syntaxe des fichiers XML est extensible -> difficile de savoir ce qui
est prédéfini
Les propriétés définies en XML peuvent être contradictoires
L’interface ne peut être utilisée que par l’activité qui l’a créée
Difficile de développer sans un environnement adéquat (Eclipse ou
Netbeans) en raison des fichiers générés
La pré-visualisation des interfaces par Eclipse n’est pas toujours
conforme (ascenseurs, contenu défini dans le code . . . )

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 24 / 41


Le SDK Android

Outil de développement d’application Android


Fournit un environnement unifié permettant de développer
"facilement" des applications Android
Mise à jour automatique via le SDKManager
Prise en charge de toutes les versions d’Android
Plusieurs Outils et API
Android xx
Google API xx
Outils d’administration, de débogage . . .

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 25 / 41


Le SDK Android

Téléchargeable sur :
developer.android.com/sdk
sous la forme d’un zip ou d’un
fichier d’installation
Propose le SDKManager qui
permet de télécharger les
plateformes et outils :
Android versions xx
Google API versions xx
Outils (tools et
platform-tools)
...

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 26 / 41


Quelques outils du SDK Android
Accessibles à partir d’une ligne de commande (fenêtre DOS)

adb permet la connexion au terminal (smartphone ou simulateur)


pour :
Transférer des fichiers (push / pull)
Travailler en ligne de commande unix (shell)
Installer une application (install)
Paramétrer le réseau (forward)
Déboguer une application (logcat)
dx transforme le bytecode java en code Dalvik
apkbuilder constitue un fichier .apk téléchargeable sur le terminal
Remarque : Eclipse utilise ces outils directement mais on est parfois
obligé d’y recourir (transfert de fichiers, installations directes
d’applications . . . )

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 27 / 41


Développement
Directement avec un éditeur de texte et les outils du SDK

Eclipse : Téléchargeable sur www.eclipse.org

Android Studio : Téléchargeable sur


https://android-studio.fr.uptodown.com/

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 28 / 41


Développer avec Android Studio

Créer un projet

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 29 / 41


Développer avec Android Studio

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 30 / 41


Développer avec Android Studio
Choix du SDK (version d’Android)

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 31 / 41


Développer avec Android Studio
Choix du modèle d’application (thème)

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 32 / 41


Développer avec Android Studio

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 33 / 41


Développer avec Android Studio

Tester une application

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 34 / 41


Plan

1 Chapitre 2 : Le système Android


Le système d’exploitation Android
L’environnement Android Studio
Structure d’un projet d’application Android
Composantes d’une application Android

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 35 / 41


Types de projet Android

Il existe trois catégories de projets sous Android :


Application Android : Type primaire des applications Android
destiné à être executé directement sur un terminal
Test Projects : Projet de test d’une application Android
Library project : Projet de types librairies, equivalents à une API
exposant certaines fonctionnalités pouvant être réutilisé par d’autres
applications.

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 36 / 41


Types d’application Android

Il existe plusieurs catégories d’application sous Android :


1 Application de premier plan : qui est utilisable uniquement
lorsqu’elle est visible et mise en suspens lorsque’elle ne l’est pas
2 Application d’arrière plan (Services) : N’interagit pas avec
l’utilisateur, elle s’exécute en tâche de fond.
3 Intermittenete : c’est une application qui présente une certaine
interactivité mais effectue l’essentiel de sa tâche en arrière plan. Ces
applications notifient l’utilisateur lorsque cela est nécessaire;
4 Widget : ces applications représentées sous forme d’un widget de
l’écran d’accueil;

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 37 / 41


Structure d’un projet d’application Android

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 38 / 41


Plan

1 Chapitre 2 : Le système Android


Le système d’exploitation Android
L’environnement Android Studio
Structure d’un projet d’application Android
Composantes d’une application Android

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 39 / 41


Composantes d’une application Android

Les applications Android sont constitués de composants à couplage


Les composantes sont liées par un Manifest qui décrit chacun d’eux
ainsi que les interactions entre elles.

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 40 / 41


Composantes d’une application Android

1 Activities : Couche de présentation de l’application;


2 Services : les composants qui tournent en arrière plan;
3 Content providers : Partage applications; de contenus entre
applications.
4 Intents : Framework de communication interapplications.
5 Broadcast receivers : Consommateurs des messages diffusés par les
intents.
6 Widgets : Composant d’application visuels;
7 Notifications : Framework de notifications aux utilisateurs;

Fatma Achour (ISIMG) Développement d’applications mobile 2021/2022 41 / 41

Vous aimerez peut-être aussi