Professional Documents
Culture Documents
Chapitre1 2
Chapitre1 2
d’applications Mobiles
(sous Android)
A.Hammache 1
Plan du Cours
Introduction à l’univers d’Android
Outils de développement Android
Les Activités
Les Interfaces graphiques
Les intents
La gestion de données
Concepts avancés
Accès et utilisation du matériels
Sécurité et déploiement d’application
A.Hammache 2
Chapitre I :
Introduction à l’univers
d’Android
A.Hammache 3
Plan du Chapitre
Définition d’Android
Historique
Concurrents d’Android
Architecture d’Android
A.Hammache 4
Définition d’Android
5
Historique
2005 Google rachète l’entreprise (Android), créée en 2003.
7
Concurrents d’Android
A.Hammache 8
Applications Android sur Play Store
http://www.appbrain.com/stats/android-market-app-categories http://www.onlinemarketing-
trends.com/2011/07/android-marketplace-top-5-
statistics.html
A.Hammache 9
Architecture d’Android
A.Hammache 10
Architecture détaillée
A.Hammache 11
La chaîne de compilation sous Android
Javac dx
Source Java Bytecode JVM Binaire Dalvik VM
« .java » « .class » « .dex » Dalvik
(ART)
Core Libraries
A.Hammache 12
Exemple
https://www.slideshare.net/sanjivmalik/cfakepathandroid-sanjiv
A.Hammache 13
Les composants d’une App Android
Activities Services
1. Offre Une Interface utilisateur 1. Pas d’Interface utilisateur
2. Généralement représente Un seul
écran 2. S’exécute en Arrière Plan
3. Étend la classe Activity 3. Étend la classe Service
A.Hammache 14
Les composants d’une App Android
OS
A.Hammache 15
Exemples
A.Hammache 16
Chapitre II :
Outils de développement
Android
A.Hammache 17
Plan du Chapitre
Pile d’outils
JDK, Eclipse
SDK
ADT
Autres IDE
A.Hammache 18
La pile d’outils
Outils
APIs AVD
Eclipse
Exemples ADB (Android
Document Studio)
AAPT
ation
JDK JAVA SE 6
A.Hammache 19
Le JDK Eclipse
JDK/JRE : le développement Android est
basé sur le langage Java. Il est nécessaire
alors d’avoir la JDK/JRE.
JDK : Java Development Kit, Il contient :
Des exécutables : machine virtuelle, compilateur, générateur de
documentation, etc.
Un ensemble de classes de base regroupées en packages
Interface utilisateur, conteneurs, gestion des threads, réseau, etc.
Le JRE= Java Runtime Environment , Il contient :
la machine virtuelle
• Eclipse : est un environnement de
développement
A.Hammache 20
SDK
APIs: (Application Programming Interface) est un ensemble
de classes regroupant des fonctions mises à disposition des
développeurs.
A.Hammache 21
SDK
SDK contient un ensemble d’outils utilisés tout au long de
processus de développement d’application, ils sont situés
dans le répertoire tools.
aapt : pour Android Asset Packaging Tool. Le rôle majeur d’« aapt »
est de compiler les ressources des applications Android.
L’exécution de cette commande se fait automatiquement par le plug-
in Eclipse.
A.Hammache 22
ADT
Le plugin eclipse ADT simplifie le développement
Android. Il intègre les outils de développement
comme l’émulateur et le convertisseur .class-to-.dex
A.Hammache 23
Installation de la pile d’outils
http://developer.android.com/sdk
A.Hammache 24
Autres IDE Android
Android Studio
Télécharger:
http://developer.android.com/sdk/installing/studio.html
Installer
A.Hammache 25
La structure d’un projet Android (eclipse)
code
Classe auto-
fichiers générée “liste
des ressources”
images
Interface utilisateur
constantes
Fichier manifest
A.Hammache 26
La structure d’un projet Android (android studio)
A.Hammache 27
Construction d’une application
Projet Compilation
Android et Packaging
AndroidManifest.xml
ADB
Appareil ou
Signature
Emulateur
A.Hammache 28
Construction d’une application
res/
interface.xml androidManifest.xml gen / src /
string.xml R.java MonActivité.java
Compilation
Asset java
Packaging
tool (aapt) Byte code
.class
Ressources Compilation
compilées pour Dalvik(dx)
Byte code
Dalvik (.dex)
Installer
et
Construire Android exécuter
apk Package
(apkbuilder) (.apk)
A.Hammache 29
Exemple code java
L’activité étend la classe Activity (android.app.Activity)
L’activité implémente la méthode
OnCreate() :
- Initialise
- SetContentView()
import android.app.Activity;
import android.os.Bundle;
res
values strings.xml
( Nom de l’Application)
A.Hammache 31
Exemple de classe R.java
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int ic_launcher=0x7f020000;
}
public static final class id {
public static final int menu_settings=0x7f070000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class menu {
public static final int activity_main=0x7f060000;
}
public static final class string {
public static final int nom_app =0x7f040000;
public static final int titre_activity_main =0x7f040001;
}
}
A.Hammache 32
Exemple de manifest
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.exemple.bonjour"
android:versionCode="1"
android:versionName="1.0" >
<use-sdk android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application android:icon="@drawable/ic_launcher"
android:label="@string/nom_app"
android:theme="@style/AppTheme" >
<activity android:name=".MainActivity"
android:label="@string/titre_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
A.Hammache 33