0% ont trouvé ce document utile (0 vote)
12 vues8 pages

Introduction au développement Android

Transféré par

ziad.shop12
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
12 vues8 pages

Introduction au développement Android

Transféré par

ziad.shop12
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

24/10/2022

Objectifs

DÉVELOPPEMENT POUR MOBILES


 MAÎTRISER LES BASES DE CE TYPE DE
(ANDROID) PROGRAMMATION

 OBTENIR UNE VUE D'ENSEMBLE DES POSSIBIL ITÉS


DE LA PROGRAMMAT ION D’AP PLICATIONS SUR
Préambule ANDROID.

Dr. KHALIFI Hamid


[Link]@[Link]
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

Modalités Conseils

 LA PROGRAMMATION S'ACQUIERT PAR


 UN COURS MAGISTRAL CHAQUE SEMAINE
L'EXPÉRIENCE
 DES TRAVAUX PRATIQUES
 ACCÉLÉRER VOTRE NAVIGATION DANS LA
 UN MINI PROJET DOCUMENTATION
 UN EXAMEN FINAL  ACQUÉRIR DE L'ASSURANCE ET DES RÉFLEXES

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

Généralités

Pré-requis
RAPPEL SUR LES PRÉREQUIS
 LANGAGE JAVA
CONCEPTS DE L’ORIENTÉ OBJET
 JAVA - INT ERFACE G RAPHIQUE

 POO - UML

Logiciel
 LE SDK ANDROID

 ANDROID ST UDIO O U ECLIPSE IDE - PLUGIN ADT

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

1
24/10/2022

POO Rappel sur les prérequis POO Rappel sur les prérequis
LE PARADIGME OBJET QU'EST-CE QU'UN OBJET ?
 Un paradigme de programmation correspond à une  Toute entité identifiable , concrète ou abstraite.
manière de modéliser le monde.  Ex. : stylo, table, ordinateur, vélo, logiciel.
 Deux caractéristiques importantes :
 Le monde est modélisé comme un ensemble  Etat
d'objets.  Comportement
 Les objets ont un état interne et un  L'objet vélo :
comportement.  Etats : vitesse, couleur, direction, etc.
 Ils collaborent en s'échangeant des messages.  Comportements : accélérer, s'arrêter, tourner a
droite, etc.

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

POO Rappel sur les prérequis POO Rappel sur les prérequis
CONCEPT DES LANGAGES OBJET OBJETS
 Concept de base de la programmation orientée objet :  Un objet est une instance d'une (seule classe) :
la classe.  il se conforme a la description que celle -ci fournit,
 Une classe modélise la structure statique (données  il admet une valeur (qui lui est propre) pour
membres) et le comportement dynamique (méthodes) chaque attribut déclare dans la classe,
des objets associés à cette classe.  ces valeurs caractérisent l‘état de l'objet
 Un objet d'une classe est appelé une instance.  il est possible de lui appliquer toute opération
 Une classe est la description d'un objet. Chaque objet (méthode) définit dans la classe
est crée à partir d'une classe (avec l'operateur new).  Tout objet admet une identité qui le distingue
pleinement des autres objets:
 il peut être nomme et être référence par un nom

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

POO Rappel sur les prérequis POO Rappel sur les prérequis
CONSTRUCTEUR DE CLASSE
CRÉATION D’OBJETS
 Un constructeur est une méthode automatiquement
 new constructeur (liste de paramètres) appelée au moment de la création de l'objet.
 les constructeurs ont le même nom que la classe  Un constructeur est nécessaire pour faire toutes les
 il existe un constructeur par défaut initialisations utiles lors de la création de la classe.
 Le constructeur porte le même nom que le nom de la
Velo v1; classe et n'a pas de valeur de retour.
Class Compte {
v1 = new Velo(); int numero;
Velo v2 = new Velo(); float solde;

Velo v3 = v2; public Compte (int num,oat s)


{ numero = num ;
solde = s ; }
}
Compte co1 = new Compte (1234, 1000) ;
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

2
24/10/2022

POO Rappel sur les prérequis POO Rappel sur les prérequis
CONSTRUCTEUR DE CLASSE TYPES DE VARIABLE
 méthodes particulières pour la création d'objets de  Attributs : (ou variables membres de classe) variables
cette classe. définies dans une classe ( à l'extérieur de ses méthodes).
 méthodes dont le nom est identique au nom de la  Attribut d'instance : sa valeur est différente pour
classe. chaque instance de la classe (défaut).
 rôle d'un constructeur : effectuer certaines  Attribut de classe : sa valeur est la même pour toute
initialisations nécessaires pour le nouvel objet créé. instance de la classe.

 toute classe JAVA possède au moins un constructeur  Variables locales : variables définies dans le corps de
déclaration d'une méthode. (Visible seulement a l'intérieur
 si une classe ne définit pas explicitement de
de la méthode correspondante.)
constructeur, un constructeur par défaut sans
 Paramètres : variables définies dans la liste des
arguments et qui n'effectue aucune initialisation
paramètres d'une méthode. (Visibles seulement a l'intérieur
particulière est invoqué. de la méthode correspondante)
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

POO Rappel sur les prérequis POO Rappel sur les prérequis
TYPES DE DONNÉES ENCAPSULATION
 2 grands groupes de types de données :  L'encapsulation est un mécanisme consistant à définir une
 types primitifs classe de telle sorte que ses attributs ne puisse pas être
directement manipulés de l'extérieur de la classe, mais
 objets (instances de classe)
seulement indirectement par l'intermédiaire des méthodes.
 Java manipule différemment les valeurs des types
 Un membre d'une classe désigne un attribut ou une
primitifs et les objets : les variables contiennent méthode définie dans cette classe.
 des valeurs de types primitifs  La visibilité des membres d'une classe définit les endroits
 ou des références aux objets d'où ils peuvent être utilisés.
 Une classe est encapsulée, si tous ses attributs sont
privés.
 Les méthodes jouant ce rôle sont appelées des
accesseurs .
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

POO Rappel sur les prérequis POO Rappel sur les prérequis
ACCESSEURS SURCHARGE DE MÉTHODES
 On distingue les accesseurs en lecture des accesseurs en  Une méthode (y compris le constructeur) peut être
écriture.
définie plusieurs fois avec le même nom à condition de
 Les accesseurs en lecture permettent simplement de "lire
la valeur d'un attribut : se différencier par le nombre et/ou le type des
//class Personne paramètres transmis (polymorphisme).
public String getNom () {  Le compilateur décidera de la bonne méthode a
return nom; } utiliser en fonction des paramètres d'appel.
Class BarreDeProgression
 Les accesseurs en écriture permettent de mo difier la { float pourcent ;
valeur d'un attribut :
public void setPourcent (float valeur)
{ pourcent = valeur ;}
//class Personne
public void setNom (String nom ) { public void setPourcent (int e effectue, int total)
[Link] = nom ; } { pourcent = total/effectue ; } }

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

3
24/10/2022

POO Rappel sur les prérequis POO Rappel sur les prérequis
HÉRITAGE POLYMORPHISME
 Il existent plusieurs types de vélos.  Le polymorphisme en Java est la capacité des sous-
 Ex. : vtt, vélo route, vélo ville classes d'avoir leur propre comportement et, en même
 Ils ont plusieurs caractéristiques communes. temps, de partager quelques fonctionnalités avec
dautres sous-classes.
 Mais, certaines caractéristiques sont propres a un
type spécifique.
 Ex. : un vélo ville a un garde bout  Le polymorphisme constitue la troisième
carac téristique essentielle d'un langage oriente objet
 Il est possible de créer une sous-classe qui hérite
après l'abstrac tion des données (encapsulation) et
l‘état et le comportement d'une superclasse.
l'héritage.
 Cela permet de réutiliser le code de la superclasse.

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

POO Rappel sur les prérequis POO Rappel sur les prérequis
POLYMORPHISME CLASSES ABSTRAITES
 Exe mpl e :  Une classe abstraite est une description d'objets destinée
Cl a ss Vtt ex ten d s Vel o {
à être héritée par des classes plus spécialisées.
p r i va te S t r i n g su sp en si o n ;
...  Pour être utile, une classe abstraite doit admettre des
v o i d i m p r i m eEt a t ( ) { classes descendantes concrètes.
Sy stem . o u t . p r i n t l n ( " v i tesse : " + v i tesse) ;  Toute classe concrète sous-classe d'une classe abstraite
Sy stem . o u t . p r i n t l n ( " su sp en si o n : " + su sp en si o n ) ; } } doit concrétiser toutes les opérations abstraites de cette
dernière.
Cl a ss Dem o Vel o {
 Une classe abstraite permet de regrouper certaines
p u b l i c st a t i c v o i d m a i n ( S t r i n g [ ] a rg s ) {
Vel o v el o 1 = n ew Vel o ( 20) ; caractéristiques communes a ses sous -classes et définit un
Vel o v el o 2 = n ew Vtt ( 20, " d u a l " ) ; comportement minimal commun.
v el o 1. i m p r i m eEt a t ( ) ;  La factorisation optimale des pro priétés communes a
Sy stem . o u t . p r i n t l n ( ) ; plusieurs classes par généralisation nécessite le plus
v el o 2. i m p r i m eEt a t ( ) ; } } souvent l'utilisation de classes abstraites.

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

POO Rappel sur les prérequis POO Rappel sur les prérequis
CLASSES ABSTRAITES CLASSES ABSTRAITES
 Une classe abstraite permet de définir des concepts  Une Classe abstraite : classe non instanciable, c'est a
incomplets qui devront ê tre implémentés dans les sous
dire qu'elle n'admet pas d'instances directes.
classes.
 Impossible de faire new ClassAbstraite(...)
public abstract class lesFrome {  Une opération/méthode abstraite : opération
protected double x, y; n'admettant pas d'implémentation au niveau de la
public void deplacer(double dx, double dy) classe dans laquelle elle est déclarée, on ne peut pas
{ dire comment la réaliser.
x += dx; y+= dy;  Une classe pour laquelle au moins une opération
}
abstraite est déclarée est une classe abstraite (l'inverse
public abstract double perimetre();
n'est pas vrai).
public abstract double surface();
}  Les méthodes abstraites sont particulièrement utiles
pour mettre en œuvre le polymorphisme.
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

4
24/10/2022

POO Rappel sur les prérequis POO Rappel sur les prérequis
INTERFACES INTERFACES
 Une interface est une collection d'o pératio ns utilisée
 Une interface est destinée à être réalisée
pour spécifier un ser vice offert par une classe.
 Une interface peut être vue comme une classe abstraite (implémentée) par d'autres classes (celles -ci en
sans attributs et dont toutes les opérations sont abstraites . héritent toutes les descriptions et concrétisent les
public interface Dessinable { opérations abstraites).
public void dessiner(Graphics g);
 Les classes réalisâtes s'engagent a fournir le service
void eacer(Graphics g); }
spécifié par l'interface.
 Toutes les méthodes sont abstraites et elles sont  Une classe JAVA peut implémenter simultanément
implicitement publiques . plusieurs interfaces.
 Possibilité de définir des attributs à condition qu'il
 Pour cela la liste des noms des interfaces à
s'agisse d'attributs de type primitif.
 Ces attributs sont implicitement déclarés comme static. implémenter séparés par des virgules doit suivre le mot
clé implémentés.
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

POO Rappel sur les prérequis POO Rappel sur les prérequis
INTERFACES CLASSES IMBRIQUÉES
 De l a m êm e m an i ère q u 'u n e c l asse éten d sa su p er - c l asse el l e  I l est p ossi b l e d e d éc l arer u n e c l asse à l 'i n tér i eu re d 'u n e au tre
p eu t d e m an i ère op ti on n el l e i m p l ém en ter u n e o u p l u si eu rs c l asse.
I n ter fac es d an s l a d éf i n i ti on d e l a c l asse, ap rès l a c l au se exten d s  Cl asse i n tér i eu re est ap p el ée c l asse i m b r i q u ée.
n om Su p er Cl asse , fai re ap p arai tre exp l i c i tem en t l e m ot c l é  La c l asse i m b r i q u e est m em b re d e l a c l asse q u i l a d él i m i te.
i m p l em en ts su i vi d u n om d e l 'i n ter fac e i m p l ém en tée.  La c l asse i m b r i q u e p eu t avoi r d es attr i b u ts d 'ac c ès.
Cl ass Re ct angl e De ssi nabl e exte nds Re ct angl e i mpl e me nt s  Exter n e est ap p el é c l asse d e n i veau su p ér i eu re.
De ssi nabl e {
publ i c voi d de ssi ne r( G raphi cs g) { publ i c cl ass Exte rne
g. drawRe ct ((i nt ) x, ( i nt ) y, ( i nt ) l arge ur, ( i nt ) haute ur ); } {
publ i c cl ass i nte rne
publ i c voi d e ace r(G raphi cs g) {
{
g. cl e arRe ct ((i nt ) x, ( i nt ) y, ( i nt )l arge ur, ( i nt ) haute ur ); } }
// dé t ai l s de l a cl asse i nte rne
 Si l a c l asse est u n e c l asse c on c rète el l e d oi t fou r n i r u n e
}
i m p l ém en tati on (u n c or p s) à c h ac u n e d es m éth o d es ab strai tes
// Pl us de me mbre s de l a cl asse Exte rne
d éf i n i es d an s l 'i n ter fac e.
}
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

POO Rappel sur les prérequis POO Rappel sur les prérequis
CLASSES IMBRIQUÉES LES EXCEPTIONS
 Cl asse In ter n e n 'a d e sen s q u e d an s l e c on texte d 'u n ob jet d e
 Les exceptions servent à gérer les erreurs qui peuvent
 typ e Exter n e.
 La c l asse i m b r i q u ée d oi t avoi r u n l i en p ar ti c u l i er avec l a c l asse
survenir durant l‘exécution d'un programme.
q u i l a d él i m i te  Les exceptions sont utilisées pour repérer les parties
 A u c u n ob jet d e l a c l asse i m b r i q u ée n 'est c rée, a m oi n s, q u 'i l s "dangereuses / à risque" dans un programme.
n e soi en t c on n u p ar l e c on str u c teu r d e l a c l asse q u i l 'a d él i m i te
 Lorsqu'une exception survient : un objet représentant
Exte rne exte ri e ure = ne w Exte rne ();
aucun obje t de l a cl asse i mbri qué e I nte rne n'e st cré e . cette exception est crée; cet objet est jeté dans la
Exte rne . I nte rne i nte ri e ur = ne w exte ri e ure . ne w I nte rne (); méthode ayant provoque l'erreur.
// dé fi ni r un obje t de l a cl asse i mbri qué e .  Cette méthode peut choisir : de gérer l'exception
 Pou r p rod u i re d es ob jets d 'u n typ e d e c l asse i m b r i q u ée elle-même, de la passer sans la gérer.
i n d ép en d an t d es ob jets d e l a c l asse q u i l 'a d él i m i te, vou s p ou vez
d éc l arer l a c l asse i m b r i q u e st at i c.  De toutes façons, l'exception est captée et traitée en
publ i c st at i c cl ass I nte rne f //dé t ai l s de I nte rne dernier recours par l'environnement d'exécution java.
Exte rne . I nte rne exe mpl e = Exte rne . I nte rne ();

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

5
24/10/2022

POO Rappel sur les prérequis POO Rappel sur les prérequis
LES EXCEPTIONS LES EXCEPTIONS
t ry {
 Un bloc try est destine à être protège, garde contre toute
//bl oc de code a surve i l l e r
//pe ut l e ve r une ou pl usi e urs exce pt i ons
exception susceptible de sur venir.
}  try{ . . . } délimite un ensemble d'instructions
catch (Exce pt i onType 1 exce pt Obj ) { susceptibles de déclencher une(des) exception(s) pour
//Trai te me nt de l 'exce pt i on du t ype 1 la(les)quelles une gestion est mise en œuvre
}
 Juste après un bloc try, il faut mettre un bloc catch qui
catch (Exce pt i onType 2 exce pt Obj ) {
//Trai te me nt de l 'exce pt i on du t ype 2 sert de gestionnaire d'exception. Le paramètre de
} l'instruction catch indique le type et le nom de l'instance de
fi nal l y { l'exception : catch(TypeDexception e) { . . . }
//code à exé cute r avant de sort i r (ave c ou sans l e  Cela permet d'intercepter ("attraper") les exceptions dont
t rai te me nt de s exce pt i ons )
}
le type est specifié et d'exécuter alors du code spécifique.

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

POO Rappel sur les prérequis COO Rappel sur les prérequis
LES EXCEPTIONS
PRINCIPE DE L’ANALYSE ORIENTÉE OBJET (CONCEPTION ORIENTÉE OBJET)
Cl ass Exce pDi v0 {
publ i c st at i c voi d mai n(St ri ng args[ ] ) {  Accent mis sur ce qu’EST le système (ses composants).
t ry {  Identification des composants du système : les objets.
i nt d = 0 ;
i nt a = 4 2 / d; }  Fonction = collaboration entre objets.
catch ( Ari t hme t i cExce pt i on e ) {  Les fonctions sont indépendantes de la structure.
Syste m. out . pri nt l n ("Di v par ze ro"); }
 Un objet intègre à la fois des données et des opérations.
} }

 O n p eu t gérer p l u si eu rs exc ep ti on s a l a su i te l 'u n e d e l 'au tre.


 Lorsq u 'u n e exc ep ti on su r vi en t, l 'envi ron n em en t d 'exéc u ti on
i n sp ec te l es i n str u c ti on s c atc h l es u n es ap rès l es au tres, d an s
l 'ord re o u el l es o n t été éc r i tes.
 I l fau t d on c m ettre l es exc ep ti on s l es p l u s sp éc i f i q u es d 'ab ord .

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

COO Rappel sur les prérequis COO Rappel sur les prérequis
PRINCIPE DE L’ANALYSE ORIENTÉE OBJET (CONCEPTION ORIENTÉE OBJET) LES 13 DIAGRAMMES UML PAR AXES DE MODÉLISATION
 Concepts Clés :
 Objets, classes, événements, …
 Abstraction;
 Encapsulation;
 Héritage;
 Polymorphisme.

 Un système inform atique est vu comme un ensemble


structuré d’éléments qui collaborent.

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

6
24/10/2022

COO Rappel sur les prérequis COO Rappel sur les prérequis

DIAGRAMME DE CLASSE EXEMPLE DIAGRAMME DE CLASSE


 Le diagramme de classes est un diagramme entités-
associations décrivant les différentes classes, leur Compte Compte
structure et les associations statiques les unissant. numero numero
 Le diagramme de classes est un diagramme struc turel solde
Créditer()
ne présentant que les classes et pas les instances de effectuerVirement() Débiter()
Accesseurs
classe. getSolde()
 Il permet de décrire la struc ture interne des classes en setSolde()
getNumero()
terme d’attributs et d’opérations. setNumero() Compte chèque

Numero

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

COO Rappel sur les prérequis COO Rappel sur les prérequis

EXEMPLE DIAGRAMME DE CLASSE EXEMPLE DIAGRAMME DE CLASSE

Réside Travaille
Personne Adresse Personne Société
1..1 1.. 1 1..* 1.. 1
nom rue nom nom
prénom ville prenom num ICE
age CP age adresse

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

COO Rappel sur les prérequis COO Rappel sur les prérequis

EXEMPLE DIAGRAMME DE CLASSE EXEMPLE DIAGRAMME DE CLASSE

Noté Noté
Etudiant Matière Etudiant Matière
1..* 1..* 1..* 1..*
nom nom matière nom nom matière
prénom coefficient prénom coefficient
adresse adresse
Résultat
note
date
session

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

7
24/10/2022

COO Rappel sur les prérequis

EXEMPLE DIAGRAMME DE CLASSE

Client CompteCourant
1 possède 0..1

*
1
souscrit achète

0..1 *
Plan Epargne Actions Actions

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

Vous aimerez peut-être aussi