SlideShare une entreprise Scribd logo
1  sur  27
Création d’applications
et découverte d’Android
Intervenant
Mustapha Hain
Une application Android est un assemblage de
composants liés grâce à un fichier de configuration. Nous
allons découvrir chaque pièce de notre puzzle applicatif,
comment le fichier de configuration de l’application la
décrit et comment toutes les pièces interagissent entre elles.
Qu’est-ce qu’une application Android ?
Qu’est-ce qu’une application Android ?
code
images
UI layouts
constants
Arborescence d’un projet Android
*.APK
fichier de configuration
Qu’est-ce qu’une activité Android ?
Activité du
premier plan
Activité
Visible
Activité
d’arrière plan
Processus
sans GUI
Service
Broadcast receivers
Cycle de vie d’une activité
Qu’est-ce qu’une activité Android ?
Qu’est-ce qu’une activité Android ?
Qu’est-ce qu’une activité Android ?
Les vues sont les briques de construction de l’interface
graphique d’une activité Android. Les objets View
représentent des éléments à l’écran qui permettent
d’interagir avec l’utilisateur via un mécanisme d’événements.
Qu’est-ce qu’une Vue Android ?
Qu’est-ce qu’une Vue Android ?
Exemple d’une vue-xml
Les ressources
Les ressources sont des fichiers externes – ne contenant
pas d’instruction – qui sont utilisés par le code et liés à
l’application au moment de sa construction. Android offre
un support d’un grand nombre de fichiers ressources
comme les fichiers images JPEG et PNG, Chaine de
caractères, Son, Vidéo, Couleur, Etc.
Couleurs
Une couleur définit une valeur RVB (rouge, vert et bleu) et
une transparence.
Il existe différents formats dont la syntaxe globale est la suivante :
<color name=nom_couleur>valeur_de_la_couleur</color>
Les différents formats d’une couleur sont les suivants :
• #RGB (Rouge-Vert-Bleu/valeur hexadécimale sur 1 caractère [0,16])
• #ARGB (Alpha (transparence)-Rouge-Vert-Bleu)
• #RRGGBB (Rouge-Vert-Bleu/valeur hexadécimale sur 2 caractères [0,255])
• #AARRGGBB
Unités de mesure
Symbole Unité Description
px Pixels correspond à la taille réelle en pixels
sur l’écran.
in inches (pouces) basé sur la taille physique
de l’écran.
1 inch = 2.54 cm
mm millimètres basé sur la taille physique de
l’écran.
pt points 1/72 de pouce, basé sur la taille
physique de l’écran.
dp density-
independant
pixels :
unité abstraite basée sur la densité
physique de l’écran.
sp scale-
independant
pixels
mis à l’échelle par préférence
utilisateur.
Création d’interfaces utilisateur
De point de vue utilisateur
Le même écran vu
par le développeur
Sous Android, vous pouvez décrire vos interfaces utilisateur de
deux façons différentes :
Directement dans le code Java d’une activité.
avec une description déclarative XML ;
Création d’interfaces utilisateur
TextView T1 = new TextView(this);
setContentView(T1);
T1.setText("Bonjour tout le monde !");
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/T1"
android:text="Texte en haut à droite"
android:gravity="top|right" />
Positionner les vues avec les gabarits
LinearLayout
RelativeLayout
FrameLayout
TableLayout
Positionner les vues avec les gabarits
Peu du code XML
Travaillons ensemble
Atelier 2: deuxième contact avec SDK
Créer une interface utilisateur
La création d’une interface se traduit par deux éléments :
une définition de l’interface utilisateur (gabarits, etc.) de façon
déclarative dans un fichier XML ;
une définition de la logique utilisateur (comportement de
l’interface) dans une classe d’activité.
Cela permet d’avoir une séparation stricte entre la présentation
et la logique fonctionnelle de l’application. De plus, un
intégrateur graphique pourra modifier l’interface sans interférer
avec le code du développeur.
Définition d’interface
Créer une interface utilisateur
Associez votre interface à une activité et définissez la logique utilisateur
import android.app.Activity;
import android.os.Bundle;
public class Main extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
Créer une interface utilisateur
Gérer les événements
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:gravity="center_vertical|center_horizontal" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/monBouton"
android:text="Cliquez ici !" >
</Button>
</LinearLayout>
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Nous cherchons le bouton dans notre interface
((Button)findViewById(R.id.monBouton))
// Nous paramétrons un écouteur sur l’événement ‘click’ de ce bouton
.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Nous affichons un message à l’utilisateur
Toast.makeText(Main.this, "Bouton cliqué !", Toast.LENGTH_LONG).show();
} });
}
Gérer les événements
Travaillons ensemble

Contenu connexe

Similaire à Création d’applications et découverte d’Android

Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...Philippe Beraud
 
Introduction au développement Android
Introduction au développement AndroidIntroduction au développement Android
Introduction au développement AndroidSteve Tremblay
 
Initiation au développement mobile sous Android
Initiation au développement mobile sous AndroidInitiation au développement mobile sous Android
Initiation au développement mobile sous AndroidAbdelkader Rhouati
 
Introduction à Android
Introduction à AndroidIntroduction à Android
Introduction à AndroidYoann Gotthilf
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSRenaud Dumont
 
Cours de Web Design part.1
Cours de Web Design part.1Cours de Web Design part.1
Cours de Web Design part.1MC Casal
 
Conquérir l'internet des objets avec les technologies web. (Kiwi Party 2012)
Conquérir l'internet des objets avec les technologies web. (Kiwi Party 2012)Conquérir l'internet des objets avec les technologies web. (Kiwi Party 2012)
Conquérir l'internet des objets avec les technologies web. (Kiwi Party 2012)Steren Giannini
 
Développement d'applications mobiles.. Environnement de programmation visuelle
Développement d'applications mobiles.. Environnement de programmation visuelleDéveloppement d'applications mobiles.. Environnement de programmation visuelle
Développement d'applications mobiles.. Environnement de programmation visuelleREGIONAL ACADEMY OF EDUCATION AND TRAINING
 
Améliorer votre productivité XAML en entreprise !
Améliorer votre productivité XAML en entreprise !Améliorer votre productivité XAML en entreprise !
Améliorer votre productivité XAML en entreprise !Microsoft
 
Améliorer votre productivité XAML en entreprise !
Améliorer votre productivité XAML en entreprise !Améliorer votre productivité XAML en entreprise !
Améliorer votre productivité XAML en entreprise !Microsoft
 
Conférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG MontpellierConférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG MontpellierDamien Laureaux
 
Angluars js
Angluars jsAngluars js
Angluars jsRYMAA
 
Introduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfmed_univ78
 

Similaire à Création d’applications et découverte d’Android (20)

Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
 
5.ateliers avancés
5.ateliers avancés5.ateliers avancés
5.ateliers avancés
 
Introduction au développement Android
Introduction au développement AndroidIntroduction au développement Android
Introduction au développement Android
 
Android introvf
Android introvfAndroid introvf
Android introvf
 
Initiation au développement mobile sous Android
Initiation au développement mobile sous AndroidInitiation au développement mobile sous Android
Initiation au développement mobile sous Android
 
Introduction à Android
Introduction à AndroidIntroduction à Android
Introduction à Android
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJS
 
Webdesign, UX et UCD #1
Webdesign, UX et UCD #1Webdesign, UX et UCD #1
Webdesign, UX et UCD #1
 
Cours de Web Design part.1
Cours de Web Design part.1Cours de Web Design part.1
Cours de Web Design part.1
 
Conquérir l'internet des objets avec les technologies web. (Kiwi Party 2012)
Conquérir l'internet des objets avec les technologies web. (Kiwi Party 2012)Conquérir l'internet des objets avec les technologies web. (Kiwi Party 2012)
Conquérir l'internet des objets avec les technologies web. (Kiwi Party 2012)
 
Développement d'applications mobiles.. Environnement de programmation visuelle
Développement d'applications mobiles.. Environnement de programmation visuelleDéveloppement d'applications mobiles.. Environnement de programmation visuelle
Développement d'applications mobiles.. Environnement de programmation visuelle
 
4-2-java swing.ppt
4-2-java swing.ppt4-2-java swing.ppt
4-2-java swing.ppt
 
Améliorer votre productivité XAML en entreprise !
Améliorer votre productivité XAML en entreprise !Améliorer votre productivité XAML en entreprise !
Améliorer votre productivité XAML en entreprise !
 
Améliorer votre productivité XAML en entreprise !
Améliorer votre productivité XAML en entreprise !Améliorer votre productivité XAML en entreprise !
Améliorer votre productivité XAML en entreprise !
 
Conférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG MontpellierConférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG Montpellier
 
DART.pptx
DART.pptxDART.pptx
DART.pptx
 
Angluars js
Angluars jsAngluars js
Angluars js
 
My droid
My droidMy droid
My droid
 
Introduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdf
 
Développement Sous Android
Développement Sous AndroidDéveloppement Sous Android
Développement Sous Android
 

Plus de ENSAM Casablanca

Plus de ENSAM Casablanca (14)

Atelier 1 xml_2019
Atelier 1 xml_2019Atelier 1 xml_2019
Atelier 1 xml_2019
 
XML Xpath & XSLT
XML  Xpath & XSLTXML  Xpath & XSLT
XML Xpath & XSLT
 
XML- Schéma
XML- SchémaXML- Schéma
XML- Schéma
 
Log 2 2-slidshare
Log 2 2-slidshareLog 2 2-slidshare
Log 2 2-slidshare
 
Log 2 1-slidshare
Log 2 1-slidshareLog 2 1-slidshare
Log 2 1-slidshare
 
La Logistique 1
La Logistique 1La Logistique 1
La Logistique 1
 
01 l'ordre select élémentaire
01 l'ordre select élémentaire 01 l'ordre select élémentaire
01 l'ordre select élémentaire
 
Android 1
Android 1Android 1
Android 1
 
Introduction au M.E.S
Introduction au M.E.SIntroduction au M.E.S
Introduction au M.E.S
 
La gestion des projets dans openerp
La gestion des projets dans  openerpLa gestion des projets dans  openerp
La gestion des projets dans openerp
 
La gestion de la production dans openerp
La gestion de la production dans openerpLa gestion de la production dans openerp
La gestion de la production dans openerp
 
L’approvisionnement et La gestion des Stocks dans OpenERP
L’approvisionnement et La gestion des Stocks dans OpenERPL’approvisionnement et La gestion des Stocks dans OpenERP
L’approvisionnement et La gestion des Stocks dans OpenERP
 
La gestion de la relation client dans l’ OPENERP
La gestion de la relation client dans l’ OPENERPLa gestion de la relation client dans l’ OPENERP
La gestion de la relation client dans l’ OPENERP
 
Introduction aux ERP
Introduction aux ERPIntroduction aux ERP
Introduction aux ERP
 

Création d’applications et découverte d’Android

  • 1. Création d’applications et découverte d’Android Intervenant Mustapha Hain
  • 2. Une application Android est un assemblage de composants liés grâce à un fichier de configuration. Nous allons découvrir chaque pièce de notre puzzle applicatif, comment le fichier de configuration de l’application la décrit et comment toutes les pièces interagissent entre elles. Qu’est-ce qu’une application Android ?
  • 4. code images UI layouts constants Arborescence d’un projet Android *.APK fichier de configuration
  • 5.
  • 6. Qu’est-ce qu’une activité Android ? Activité du premier plan Activité Visible Activité d’arrière plan Processus sans GUI Service Broadcast receivers
  • 7. Cycle de vie d’une activité Qu’est-ce qu’une activité Android ?
  • 10. Les vues sont les briques de construction de l’interface graphique d’une activité Android. Les objets View représentent des éléments à l’écran qui permettent d’interagir avec l’utilisateur via un mécanisme d’événements. Qu’est-ce qu’une Vue Android ?
  • 11. Qu’est-ce qu’une Vue Android ? Exemple d’une vue-xml
  • 12. Les ressources Les ressources sont des fichiers externes – ne contenant pas d’instruction – qui sont utilisés par le code et liés à l’application au moment de sa construction. Android offre un support d’un grand nombre de fichiers ressources comme les fichiers images JPEG et PNG, Chaine de caractères, Son, Vidéo, Couleur, Etc.
  • 13. Couleurs Une couleur définit une valeur RVB (rouge, vert et bleu) et une transparence. Il existe différents formats dont la syntaxe globale est la suivante : <color name=nom_couleur>valeur_de_la_couleur</color> Les différents formats d’une couleur sont les suivants : • #RGB (Rouge-Vert-Bleu/valeur hexadécimale sur 1 caractère [0,16]) • #ARGB (Alpha (transparence)-Rouge-Vert-Bleu) • #RRGGBB (Rouge-Vert-Bleu/valeur hexadécimale sur 2 caractères [0,255]) • #AARRGGBB
  • 14. Unités de mesure Symbole Unité Description px Pixels correspond à la taille réelle en pixels sur l’écran. in inches (pouces) basé sur la taille physique de l’écran. 1 inch = 2.54 cm mm millimètres basé sur la taille physique de l’écran. pt points 1/72 de pouce, basé sur la taille physique de l’écran. dp density- independant pixels : unité abstraite basée sur la densité physique de l’écran. sp scale- independant pixels mis à l’échelle par préférence utilisateur.
  • 15. Création d’interfaces utilisateur De point de vue utilisateur Le même écran vu par le développeur
  • 16. Sous Android, vous pouvez décrire vos interfaces utilisateur de deux façons différentes : Directement dans le code Java d’une activité. avec une description déclarative XML ; Création d’interfaces utilisateur TextView T1 = new TextView(this); setContentView(T1); T1.setText("Bonjour tout le monde !"); <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/T1" android:text="Texte en haut à droite" android:gravity="top|right" />
  • 17. Positionner les vues avec les gabarits LinearLayout RelativeLayout FrameLayout TableLayout
  • 18. Positionner les vues avec les gabarits Peu du code XML
  • 19. Travaillons ensemble Atelier 2: deuxième contact avec SDK
  • 20. Créer une interface utilisateur La création d’une interface se traduit par deux éléments : une définition de l’interface utilisateur (gabarits, etc.) de façon déclarative dans un fichier XML ; une définition de la logique utilisateur (comportement de l’interface) dans une classe d’activité. Cela permet d’avoir une séparation stricte entre la présentation et la logique fonctionnelle de l’application. De plus, un intégrateur graphique pourra modifier l’interface sans interférer avec le code du développeur.
  • 21. Définition d’interface Créer une interface utilisateur
  • 22. Associez votre interface à une activité et définissez la logique utilisateur import android.app.Activity; import android.os.Bundle; public class Main extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } } Créer une interface utilisateur
  • 23.
  • 24.
  • 25. Gérer les événements <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="fill_parent" android:layout_width="fill_parent" android:gravity="center_vertical|center_horizontal" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/monBouton" android:text="Cliquez ici !" > </Button> </LinearLayout>
  • 26. protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Nous cherchons le bouton dans notre interface ((Button)findViewById(R.id.monBouton)) // Nous paramétrons un écouteur sur l’événement ‘click’ de ce bouton .setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // Nous affichons un message à l’utilisateur Toast.makeText(Main.this, "Bouton cliqué !", Toast.LENGTH_LONG).show(); } }); } Gérer les événements