Software">
Introduction Android 1
Introduction Android 1
Introduction Android 1
d’Application Android
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.
4
Contraintes mobiles
La performance;
La réactivité;
La sécurité;
La transparence;
5
3
Plusieurs langages :
Multi OS
4
Plusieurs outils :
5
}} 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
6
}} 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
7
Introduction à Android
8
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
9
10
}} Développeurs
◦ Pas besoin de licence
◦ Simple et intuitifs
◦ Modulables
Introduction à Android 11
}} 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
Introduction à Android 12
}} Android n’est pas un langage de
programmation.
}} Pour développer sous Android, il existe deux
possibilités :
◦ Développement native (Java ou C/C++) et hybride
Introduction à Android 13
}} 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)
JRE
}} Une application Android ne peut pas s’exécuter
Introduction à Android 14
}} 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é
Introduction à Android 15
}} 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
Introduction à Android 16
}} Framework et langage
◦ Android SDK
◦ Java
◦ XML
}} Outils
◦ Android Studio
◦ JDK : java développement kit
Introduction à Android 17
}} Outil de développement d’application Android
}} Fournit un environnement unifié permettant de
développer « facilement » des applications
Android
}} Mise à jour automatique via le SDK Manager
}} Prise en charge de toutes les versions d’Android
}} Plusieurs Outils et API
◦ Android xx
18
◦ Google API xx
◦ Outils d’administration, de débogage …
19
}} apkbuilder : Compiler les sources d’une application
Android pour constituer une archive (.apk) directement
installable sous un terminal Android
}} DDMS / Monitor : Monitoring sur les activités du
terminale
Les applications Android sont constitués de composants à
couplage
Les composantes sont liées par un fichier de configuration qui
est le fichier Manifest qui décrit chacun d’eux ainsi que les
interactions entre elles.
21
22
1.Activities : Couche de présentation de l’application;
2.Services : les composants qui tournent en arrière-plan;
3.Content providers : Partage de contenus entre
applications;
4.Intents : Framework de communication inter-applications.
5.Broadcast receivers : Consommateurs des messages
diffusés par les intents.
6.Widgets : Composant d’application visuels;
7.Notifications : Framework de notifications aux utilisateurs;
23
Il existe trois catégories de projets sous Android:
24
1.Application de premier plan : c’est une application
qui est utilisable uniquement lorsqu’elle est visible
et mise en suspens lorsqu’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.Intermittente : 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;
25
4.Widget : ces applications représentées sous forme
d’un widget de l’écran d’accueil;
26
27
28
L'interface principale est décomposée en un ensemble d'éléments comme suit :
• A : barre des menus pour diverses tâches en rapport avec l'environnement d'Android Studio.
• B : barre des outils représentant des raccourcis vers les tâches les plus fréquentes.
• C : barre de navigation permet de naviguer à travers les répertoires ou fichiers (en fonction de la
vue).
• D : la fenêtre du projet affiche une vue hiérarchique du projet.
• E : la fenêtre d'édition pour éditer les fichiers du projet.
• F : fenêtre permettant à travers la barre des états d'afficher l'état du projet, des activités de la
mémoire utilisée,
29
Chaque projet Android contient un fichier
aux format XML nommé manifeste
(AndroidManifest.xml).
Le manifeste permet de définir la structure
et les métadonnées d’une application, ses
composants et ses prérequis.
30
Il contient des balises pour chacun des
composants qui constituent l’application
(Activités, Services, Content Providers et
Broadcast Receivers)
Le manifeste fournit aussi des attributs
permettant de spécifier les métadonnées
d’une application (Exemple son icône, son
thème).
31
Il contient également les paramètres de
sécurité et la définition des prérequis
matériels et de plateforme.
Le fichier manifeste (AndroidManifest.xml)
se trouve à la racine du projet.
32
Android Manifest
33
}} Une activité décrit les actions que peuvent
effectuer un utilisateur. Elles sont destinées à
interagir avec l’utilisateur
}} Classe héritant de la classe
d’Android
}} Doit être déclarée dans le Manifest pour être
34
}} Ne peut être instanciée directement, cette tache
se fait par le système
35
Activity : le cycle de vie
Une bonne compréhension du cycle de vie de l’Activity
permet de garantir que votre application satisfait respecte
les bonnes pratiques de développement Android.
L’état de chaque Activity est déterminé par sa position
dans la pile des Activities:
1. Active : Quand l’Activity est au sommet de la pile;
2. En pause : Si l’Activity est visible sans avoir le focus;
3. Arrêtée: Lorsque l’Activity n’est plus visible;
4. Inactive : Quand elle est tuée ou qu’elle n’est pas
démarrée;
34
37
public class ExampleActivity extends
AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// The activity is being created.
}
@Override
protected void onStart() {
super.onStart();
// The activity is about to become visible.
}
@Override
protected void onResume() {
super.onResume();
// The activity has become visible (it is now "resumed").
38
}
@Override
protected void onPause() {
super.onPause();
// Another activity is taking focus (this activity is about to be
"paused").
}
39