Software">
Nothing Special   »   [go: up one dir, main page]

Introduction Android 1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 39

Introduction au Développement

d’Application Android

◦ Comprendre l’architecture du système Android


◦ Comprendre l’organisation d’une application Android
◦ Développer et déployer des applications natives Android
◦ Connaitre les bonnes pratiques du développement
d’application Android
2

}} Professional NFC application


}} Android developer :
http://developer.android.com/
index.html

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 :

Déploiement facile (multi plateforme)

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)

}} Ne supporte pas toutes les fonctionnalités de la

JRE
}} Une application Android ne peut pas s’exécuter

sur une machine virtuelle Java

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 …

}} ADB : Outil en ligne de commande permettant


d’administrer un terminal (virtuel, réel) :
◦ Transférer des fichiers (push / pull)
◦ Installer une application (install)
◦ Connexion par sockets (forward)
}} dx : Compilateur Android qui transforme le bytecode
java en code Dalvik

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:

Application Android : Type primaire des


applications Android destiné à être exécuté
directement sur un terminal.
Test Project : Projet de test d’une application
Android
Library Project : Projet de types librairies,
équivalents à une API exposant certaines
fonctionnalités pouvant être réutilisé par d’autres
applications.

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

visible par le système

34
}} Ne peut être instanciée directement, cette tache
se fait par le système

Activity a = new Activity();

}} L’instanciation d’une activité se fait par les intentions

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

Vous aimerez peut-être aussi