Vous êtes sur la page 1sur 60

Developpement Mobile

Dev. Mobile sous Android


Plan
Partie 1 :
Concepts et principes généraux

Introduction Aux Applications Natives / Web / hybrides


Travaux pratiques
Premiers
TPs pas : Configurations,
liés aux Architectures,
concepts et aspects abordés pendant le cours
Gestion
Un des ressources
Mini-projet d’une
: une véritable applications
application Android (66% de la note finale)
Par groupe de 1 à 3 personnes
Travaux pratiques :
• Android & l'Open Handset Alliance
L'Open Handset Alliance (abrégé OHA) est un association de
plusieurs entreprises dont le but est de développer des normes
ouvertes pour les appareils de téléphonie mobile.

L’association a été créé le 5 novembre 2007 à l'initiative


de Google qui a su fédérer autour de lui 34 compagnies
L'Open Handset Alliance

Network operators
Software developers
Component manufacturers
Device manufacturers
Versions
Versions

Google poursuit son rythme de sorties de nouvelles versions

d’Android avec la disponibilité à venir d’Android 12. Alors


même qu’Android.
Les Versions d’Android
Versions
Versions

Google poursuit son rythme de sorties de nouvelles versions

d’Android avec la disponibilité à venir d’Android 10.

Alors Android 10 vient de dépasser les 8% d’installations sur les


smartphones, tablettes et autres appareils compatibles Android.
Versions

• Pour plus de details :


https://developer.android.com/about/dashboards/index.html
les différentes technologies de
développement d'une
application Android
• Application Web
Mobile
• Application Web Mobile
1. Application qui s’exécute sur un serveur;
2. Développée avec un langage de programmation coté serveur
(PHP, javascript, ASP.Net…);
3. La réponse sur la requête retourne une page Web conçue
pour les Smartphones;
4. Fonctionne sur tous les Smartphones de différents tailles et
de différentes versions;
• Les outils utilisés :
➢ Il existe plusieurs outils pour retourner une page Web dediés
aux Smartphones utlisant principalement HTML5, CSS
et JavaScript.
➢ Parmi ces outils :

jQuery Mobile framework


▪ Developpé par l’equpe de jQuery
▪ Basé sur le langage javaScript
Sencha Touch
▪ Developpé par la societé Sencha
▪ Une bibliotheque tres riche basée essentiellement sur
javaScript HTML5 et CSS3
▪ Compatible avec Android, IOS, ainsi BlackBerry OS.
• Les avantages
▪ Minimise le Time To Market et le cout de developpement;
▪ Permet aux developpeurs Web de realiser des applications Android
et beneficier des avantages des technologies Web;
▪ Multiplatformes.

• Les inconvenients
▪ Impossible d’acceder aux differents périphériques de l’appareil;
▪ Impossible d’utiliser l’ API Android.
• Application Mobile
Hybride
• Application Mobile Hybride
1. Exécution sur les périphériques;
2. Ecriture avec les technologies Web (HTML, CSS et JavaSript);
3. Une couche d‘ abstraction web-to-native permet d‘ accéder aux
APIs du système et aux différents périphériques qui ne sont pas
accessible dans les applications Web mobiles.
• Les outils utilisés :
PhoneGap :
▪ Développé par la société Adobe Systems ;
▪ C' est un Framework open-source;
▪ Permet de créer des applications mobiles pour différents
plateformes (Android, iOS, Windows Phone...).
• Les avantages
▪ Minimise le Time To Market et le cout de développement;
▪ Permettre aux développeurs Web de réaliser des applications
Mobiles;
▪ Supporte multiplateformes.
▪ Accéder à certaines fonctionnalités du système.

• Les inconvenients
▪ Perte de performance;
▪ Impossible d’utiliser les fonctionnalités avancées du système.
• Application Mobile
Native
• Application Mobile Native

1. Elles sont réalisées avec un SDK Tools et un langage spécifique au


périphérique;
2. Elles sont écrites avec un code natif (JAVA pour Android);
3. Elles s‘ exécutent sur les périphériques
4. La compilation du code natif JAVA donne un fichier .APK
• Les technologies utilisées :
• Langage JAVA;
• Un IDE qui facilite l’ écriture du code;
• Android SDK pour la compilation du code JAVA.
Les technologies utilisées :
• Le JAVA est le langage utilisé pour le développement natif sous
Android;
• Les principaux IDE utilisés pour le développement sont :
o Eclipse
o Android Studio supporté par Google.
o Intellij IDEA
• Android SDK nous offre l' API de développement et les outils de
débogage, teste et compilation.
• Les avantages
▪ Plus de performances;
▪ Accès à l' ensemble des APIs du système;
▪ Personnalisation des applications et création des composants;
▪ l‘ exécution rapide des fonctions graphiques.

• Les inconvenients
▪ Temps et cout de développement élevés.
• La plate-forme Android
• kit de développement :
• Machine virtuelle ‘’Dalvik ‘’
• La VM Dalvik n'est pas une VM Java

- Exécute des fichiers .dex (Dalvik Executable)


• Le SDK Android :
• Le SDK Android est composé de plusieurs éléments :
• Des API (Application Programming Interface)
• Un certain nombre d'exemples illustrant les possibilités
du SDK.
• De la documentation.

• Des outils - parmi lesquels un émulateur

Le SDK Android est disponible sur le site de


Google :http://developer.android.com
• Plateforme / Architecture ?
• Android Studio
C' est un outil développé par Google;
Le SDK d’ Android est intégré par défaut;
Dès son lancement, Google le considèrera comme l' IDE
officiel
Androidpour le :développement
Studio sous Android.
https://developer.android.com/studio/index.html

Durant ce cours nous nous intéressons à l'outil Android


Studio.
https://developer.android.com/studio/index.html
• Présentation des différents composants
d'une application Android
• Les différents composants :
• Fichier de configuration Android (manifest)
Qu’est que c’est ?
Une application Android est un assemblage de composants liées
grâce à un fichier de configuration
Décrit entre autres :
* Le point d'entrée de l'application : quel code doit être exécuté au
démarrage de l'application
* Quels composants constituent ce programme : les activités, les
services, ...
* Les permissions nécessaires à l’exécution du programme
• Fichier de configuration Android (manifest)
Comment ?

Fichier XML : AndroidManifest.xml


• AndroidManifest.xml :
• Activité
Une activité ≈ un écran graphique
• Exprime souvent un cas d'utilisation (use case UML)
• Une application est formée de n activités
• Étend android.app.Activity
• Utilisation d’une activité :
• Une activité est composée de deux volets :
• Sa logique métier et la gestion de son cycle de vie
• Implémentés en Java dans une classe héritant de Activity
• Son interface utilisateur
• Deux façons alternatives pour sa définition:
- Programmative : dans le code de l'activité
- Déclarative : dans un fichier XML
• Squelette minimal d'une activité :
• Squelette minimal d'une activité :
• Cycle de vie d'une activité :
Activity Lifecycle
• Cycle de vie d'une activité : Activity Lifecycle

• Cycle de vie d'une activité : Activity Lifecycle
public class ExampleActivity extends Activity {
@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").
}
@Override
protected void onPause() {
super.onPause();
// Another activity is taking focus (this activity is about to be
"paused").
}

}
• Les interfaces d'applications :Les Vues
(Views)
- Présentation
+ Sont les briques de construction de l'interface graphique d'une
activité Android
- Utilisation
+ Les vues sont des éléments prédéfinies par la plateforme :

- textes, boutons, …

+ Chaque écran Android contient un arbre d'éléments de type View


+ Les vues peuvent être disposées dans une activité et donc à l'écran
par une description XML
- Positionnement des vues avec les gabarits
+ L'utilisation et le positionnement des vues dans une activité se fera

via des gabarits de vues (layout) : conteneur


+ Les gabarits peuvent être imbriqués les uns dans les autres
- Les propriétés communes à tous les types de gabarit
• Comment créer une interface

• Définition de l'interface utilisateur (gabarit, etc.) de façon


déclarative dans un fichier XML.
• Les fichiers de définition d'interface en XML sont enregistrés
dans le dossier res/layout du projet.
• Exemple d’un Layout (fichier XML)

• Association entre activité et interface
• Spécifier une vue pour l'activité
TP_TD_1_Les layouts
Arrêtons d’ être des simples
consommateurs de technologie

Vous aimerez peut-être aussi